Gridview ItemTemplate OnClientClick javascript function with DataItem value as parameter
I have a button inside my <ItemTemplate>
in GridView and I want to call a javascript function on the OnClientClick
of that button passing the DataItem value as a parameter of the javascript function
<ItemTemplate>
// Labels and Html styles
....
<asp:Button ID="btnEdit" runat="server" Text="Edit" OnClientClick='javascript:CreateEditAddress(<%#B开发者_开发百科ind("Id") %>);' />
<asp:Button ID="btnDelete" runat="server" Text="Delete" />
</ItemTemplate>
If I will not put a parameter in CreateEditAddess()
this works well but I need the parameter.
I know I can put the OnClientClick event value in OnRowDataBound event of the gridview but I don't want to put it in CodeBehind. It seems like the server tag is not parsed correctly.
Am I missing something here?
See this:
loading gridview with hyperlink column
I think you should use DataBinder.Eval(Container, "DataItem.YourProperty")
.
You can also try like this:
<asp:TemplateField HeaderText="Link">
<ItemTemplate>
<asp:HyperLink runat="server" ID="HLink"
Text='<%# Eval("FirstName").ToString() + " " + Eval("LastName").ToString()%>'
NavigateUrl='<%# "javascript:OpenPopup(" + "'" + Eval("EmpId") + "');" %> ' />
</ItemTemplate>
</asp:TemplateField>
This will help you when there is need to pass one or more variables to javascript function.
精彩评论