[英]Calling JavaScript Function From CodeBehind doesn't work with FileUpload
[英]Javascript function doesn't called from codebehind
我在帶有參數的javascript中具有函數,並且當Gridview綁定其數據時,我想多次調用此函數。 所以我把這樣的代碼
if (e.Row.RowType == DataControlRowType.DataRow)
{
if (((DataRowView)e.Row.DataItem) != null)
{
Page.ClientScript.RegisterStartupScript(this.GetType(),new Random().Next(100).ToString(),
"likeStatus('"+argument+"')", true);
}
}
每次更改key
的值時,此函數僅被調用一次。 所以請幫助我在每次網格視圖綁定的迭代中應該如何調用函數。
提前致謝
問題是,如果需要隨機性,則需要使用相同的Random
實例,並且不能每次都創建一個新實例。 您現在的操作方式可能每次都會產生相同的值。 (還請注意,隨機值與唯一值不同)
為了解決這個問題,我會做些不同的事情。
在您的課程中聲明一個StringBuilder
作為字段。 在綁定網格之前創建它:
sb = new StringBuilder();
gridView.DataBind();
然后在GridView
的RowDataBound
事件中寫入構建器。
if (e.Row.RowType == DataControlRowType.DataRow)
{
if (((DataRowView)e.Row.DataItem) != null)
sb.Append("likeStatus('"+argument+"');");
}
最后在PreRender
注冊腳本字符串
Page.ClientScript.RegisterStartupScript(this.GetType(), "MyScript",
sb.ToString(), true);
或者,使用唯一值作為鍵,例如Guid.NewGuid().ToString()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.