将Eval作为gridview中的javascript函数参数传递

时间:2010-06-25 16:27:00

标签: asp.net javascript gridview function parameters

我有以下内容:

<EditItemTemplate>
                    <asp:Button ID="wrqst_need_ind_btn" runat="server" Text = "Create WR" 
                        onClientClick="javascript:popUp('popup_createWR.aspx')"
                        CommandArgument='<%# Eval("dvc_nm") + "|" + Eval("data_orgtn_yr") %>'/>
 </EditItemTemplate>

我想将另外两个参数Eval(“dvc_nm”)和Eval(“data_orgtn_yr”)传递给弹出函数。

我该怎么做?

非常感谢你的帮助!

更新:

我尝试了下面的建议,我尝试删除insode中的单引号&lt; %%&gt;标签。这给了我这个:

onClientClick ='&lt;%#“javascript:popUp(popup_createWR.aspx,”+ Eval(“dvc_nm”)+“,”+ Eval(“data_orgtn_yr”)+“)”%&gt;'

符合,但当我点击按钮时我没有弹出窗口,页面刚回发并重新加载并在页面上显示错误,但没有弹出窗口...

3 个答案:

答案 0 :(得分:2)

请改为尝试:

ASPX:

<asp:Button ID="wrqst_need_ind_btn" runat="server" Text="Create WR"
    onClientClick="<%# GetPopupScript() %>" />

代码隐藏:

protected string GetPopupScript()
{
    return string.Format( "javascript:popUp('popup_createWR.aspx', '{0}', '{1}')", Eval( "dvc_nm" ), Eval( "data_orgtn_yr" ) );
}

答案 1 :(得分:1)

这将100%工作 请按以下顺序执行代码

示例

 OnClientClick='<%# string.Format("javascript:return fnSelectedLocationList(\"{0},{1},{2},{3},{4}\")", Eval("Location"),Eval("Version"),Eval("Lot"),Eval("Quantity"),Eval("WKOLineNumber")) %>'

答案 2 :(得分:0)

这应该有效

  <asp:Button ID="wrqst_need_ind_btn" runat="server" Text = "Create WR" 
                    onClientClick='<%# "javascript:popUp('popup_createWR.aspx','" + Eval("dvc_nm") + "','" + Eval("data_orgtn_yr") + "')" %>'
                    CommandArgument='<%# Eval("dvc_nm") + "|" + Eval("data_orgtn_yr") %>'/>