如何通过从c#传递多个参数来调用javascript

时间:2015-04-29 06:39:03

标签: javascript c#

有谁能告诉我如何从c#传递javascript的参数?

我使用this.Page.ClientScript.RegisterClientScriptBlock,但它没有调用方法。

SqlDataAdapter da = new SqlDataAdapter();da = o1.viewThisAddMoreFields(Convert.ToInt32(id));

   DataTable dt = new DataTable();

   da.Fill(dt);

   int count = dt.Rows.Count;

   for (int i = 0; i < count; i++)

   {

     extraFieldName[i] = dt.Rows[i]["FieldName"].ToString();

     extraFieldValue[i] = dt.Rows[i]["FieldValue"].ToString();
   }


  for (int i = 0; i < count; i++)

  {



                 ModalPopupExtender1.Hide();

                 ModalPopupExtender2.Hide();

                 Page.ClientScript.RegisterArrayDeclaration("ExtraFName", "extraFieldName[i]");

                 Page.ClientScript.RegisterArrayDeclaration("ExtraFValue", "extraFieldValue[i]");

                 Page.ClientScript.RegisterArrayDeclaration("totalCount", "count");


                 // ClientScript.RegisterStartupScript(GetType(), "Javascript", "javascript: moreFieldsEditFunction(); ", true);"+extraFieldName[i].ToString()+","+extraFieldValue[i].ToString()+"




             }

             for (int i = 0; i < count; i++)

             {
                // ClientScript.RegisterStartupScript(GetType(),"Javascript", "javascript: moreFieldsEditFunction('Hai','Hello');", true);

                 this.Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "xx", "<script>moreFieldsEditFunction(" + extraFieldName[i] + "," + extraFieldValue[i] + ");</script>");
             }

Javascript代码是:

 function moreFieldsEditFunction(extrafname,extrafvalue) {


         alert(extrafname + "test" + extrafvalue + "Helloooooo");

     }

这种格式是否正确?

我可以使用单个参数调用,但是当传递两个参数时,它无法正常工作。任何语法错误?

1 个答案:

答案 0 :(得分:1)

将名称用单引号传递,因为字符串变量需要在引号中传递。

this.Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "xx", "<script>moreFieldsEditFunction('" + extraFieldName[i] + "','" + extraFieldValue[i] + "');</script>");