2013-12-09 30 views
0

我编程方式填充一个GridView和添加一个按钮,最后一行:doPostBack是不确定的,当编程添加按钮的GridView

ButtonField bc = new ButtonField(); 
bc.ButtonType = ButtonType.Button; 
bc.Text = "Edit"; 
bc.CommandName = "EditAsset"; 
grid.Columns.Add(bc); 

在标记我指定的处理程序:

<asp:GridView ID="gvListView" OnRowCommand="gvListView_RowHandler" runat="server"></asp:GridView> 

我的处理程序添加到代码隐藏:

protected void gvListView_RowHandler(object sender, GridViewCommandEventArgs e) 
{ 
    if (e.CommandName == "EditAsset") 
    { 

    } 
} 

当我运行它,并在G点击一个按钮ridview,我得到一个JavaScript错误,__doPostBack是未定义的。任何人都知道为什么js不会生成?

动态生成的按钮调用如下所示:

onclick="javascript:__doPostBack(&#39;lvStuff$gvListView&#39;,&#39;EditAsset$0&#39;)" 

编辑:页面上生成的doPostBack,但有一些它周围的注释?

//<![CDATA[ 
var theForm = document.forms['form1']; 
if (!theForm) { 
    theForm = document.form1; 
} 
function __doPostBack(eventTarget, eventArgument) { 
    if (!theForm.onsubmit || (theForm.onsubmit() != false)) { 
     theForm.__EVENTTARGET.value = eventTarget; 
     theForm.__EVENTARGUMENT.value = eventArgument; 
     theForm.submit(); 
    } 
} 
//]]> 

回答

0

嗯,我觉得很傻。问题在于我试图在标题中错误地结束早期的脚本标记。相反

<script type="text/javascript" src="jslib/jquery-1.9.1.js" /> 

这样:我这样做

<script type="text/javascript" src="jslib/jquery-1.9.1.js"></script> 

这是造成JavaScript的失败。没有意识到你不能以xml的方式关闭脚本标签。