2014-04-24 3 views
-1

У меня есть элемент управления ретранслятора на моей странице aspx и на этой странице я установил флажок. Когда пользователь проверяет это поле, я хочу перенаправить на страницу. Я написал JavaScript тоже выполнить это действие следующим образом:Как передать параметр в javascript динамически

ЯШ:

function update(eid) { 
     window.location("Events.aspx?eid="+eid); 
    } 

Ниже приведен метод в коде позади:

protected void rptEventReminder_ItemDataBound(object sender, RepeaterItemEventArgs e) 
    { 
     CheckBox cbx = e.Item.FindControl("chkComplete") as CheckBox; 
     Label lbl = e.Item.FindControl("lblEid") as Label; 

     if (cbx != null && lbl !=null) 
     { 
      Int64 eid = Convert.ToInt64(lbl.Text); 
      cbx.Attributes.Add("onclick", "update(eid);"); 
     } 
    } 

, что Ид, который я передаю поскольку параметр является уникальным в базе данных.

JavaScript ошибок я получаю:

JavaScript runtime error: 'eid' is undefined

+0

попробуйте следующее: cbx.Attributes.Add ("onclick", "update ('" + eid + "');"); –

ответ

3

В настоящих Вы передаете eid, как жестко закодирован текст на onclick обработчика, который рассматривает его как переменные JavaScript, таким образом, вы получаете ошибку

JavaScript runtime error: 'eid' is undefined

Теперь, в C# код eid является переменной, таким образом, вы должны передать его как

cbx.Attributes.Add("onclick", "update(" + eid +");"); 
+0

Привет @Satpal спасибо dude ... спасибо за ваш ответ –

0

Я нашел решение своего вопроса. Я сделал небольшие изменения в коде, где я вызываю javaScript следующим образом:

protected void rptEventReminder_ItemDataBound(object sender, RepeaterItemEventArgs e) 
{ 
    CheckBox cbx = e.Item.FindControl("chkComplete") as CheckBox; 
    Label lbl = e.Item.FindControl("lblEid") as Label; 

    if (cbx != null && lbl !=null) 
    { 
     Int64 eid = Convert.ToInt64(lbl.Text); 
     cbx.Attributes.Add("onclick", "update("+eid+");"); 
    } 
} 

сейчас его рабочий тон.

+0

Вам не хватает '+' после 'eid' – Satpal

+0

спасибо @Satpal, я исправил свою ошибку ... –

Смежные вопросы