如何在gridview中的javascript函数中传递列值 [英] How to pass column value in javascript function in gridview
问题描述
我在代码后面绑定了gridView。我想使用javascript显示联系人姓名,具体取决于选中的复选框。
< asp:TemplateField HeaderText =Select>
< ItemTemplate>
< asp:CheckBox ID =chkSelectonchange ='return checkUncheck(<%#Eval(ContactName)%>);'
Text ='<%#Eval( ContactName)%>'runat =server/>
< / ItemTemplate>
< / asp:TemplateField>
Eval函数在Text属性中工作,并在复选框值中显示联系人姓名。但是在checkUncheck()中它不起作用。在页面的源代码中,我可以在checkUncheck()函数中找到这个参数:
onchange =return checkUncheck(& lt;%#Eval(& quot; ContactName& quot;)%>);
你的标记需要改变一点(单引号/双引号组合)。仔细按照以下行找出你错过了什么。
< asp:CheckBox ID = chkSelect onchange = <%# javascript:checkUncheck(' + Eval( ContactName)+ ')% > Text ='<% #Eval( ContactName)%>' runat =server/>
加价:
< span class =code-keyword>< asp:gridview runat = server id = grdData autogeneratecolumns = < span class =code-keyword> False xmlns:asp = #unknown >
< span class =code-keyword>< 列 >
< asp:boundfield < span class =code-attribute> runat = server showheader = 真 headertext = Id datafield = Id / >
< asp:templatefield headertext = 选择 >
< ItemTemplate >
< asp:CheckBox ID = chkSelect onchange = <%# javascript:checkUncheck(' + Eval( ContactName)+ < span class =code-string> ')% > Text ='<% #Eval( ContactName)%>' runat =server/>
< / ItemTemplate >
< / asp:templatefield >
< / columns >
< / asp:gridview >
数据模型:
public class 数据
{
public long ID { get ; set ; }
public string ContactName { get 跨度>; set ; }
public static IEnumerable< data> GetDataList()
{
return new [] { new 数据{Id = 1 ,ContactName = Habib}, new 数据{Id = 2 , ContactName = Khorshed}, new 数据{Id = 3 ,ContactName = Shojol}};
}
} < / 数据 >
代码落后
< span class =code-keyword> protected void Page_Load( object sender,EventArgs e )
{
if (!Page.IsPostBack)
LoadGrid();
}
私有 void LoadGrid()
{
IEnumerable< data> data = Data.GetDataList();
grdData.DataSource = data;
grdData.DataBind();
} < / 数据 >
使用asp .net复选框onchange事件将无效。如果你看到渲染html
< span önchange = javascript:checkUncheck('Shojol') > < 输入 id = MainContent_grdData_chkSelect_2 类型 = 复选框 名称 = < span class =code-keyword> ctl00
MainContent
grdData
I am binding gridView in code behind. I want to display Contact Names using javascript depending on checked checkboxes.
<asp:TemplateField HeaderText="Select"> <ItemTemplate> <asp:CheckBox ID="chkSelect" onchange='return checkUncheck(<%#Eval("ContactName") %>);' Text='<%#Eval("ContactName") %>' runat="server" /> </ItemTemplate> </asp:TemplateField>
Eval Function is working in Text property and displaying contact names in checkboxes values. But in checkUncheck() it not working. In source of the page I can find this argument in checkUncheck() function:
onchange="return checkUncheck(<%#Eval("ContactName") %>);"
your markup need to change little(single quote/double quote combination). Carefully follow the following line and find out what did you miss.
<asp:CheckBox ID="chkSelect" onchange=<%# "javascript:checkUncheck('" + Eval("ContactName") + "')" %> Text='<%#Eval("ContactName") %>' runat="server" />
Markup:
<asp:gridview runat="server" id="grdData" autogeneratecolumns="False" xmlns:asp="#unknown"> <columns> <asp:boundfield runat="server" showheader="True" headertext="Id" datafield="Id" /> <asp:templatefield headertext="Select"> <ItemTemplate> <asp:CheckBox ID="chkSelect" onchange=<%# "javascript:checkUncheck('" + Eval("ContactName") + "')" %> Text='<%#Eval("ContactName") %>' runat="server" /> </ItemTemplate> </asp:templatefield> </columns> </asp:gridview>
Data Model:
public class Data { public long Id { get; set; } public string ContactName { get; set; } public static IEnumerable<data> GetDataList() { return new[] { new Data { Id = 1, ContactName = "Habib" }, new Data { Id = 2, ContactName = "Khorshed" }, new Data { Id = 3, ContactName = "Shojol" } }; } }</data>
Code behind
protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) LoadGrid(); } private void LoadGrid() { IEnumerable<data> data = Data.GetDataList(); grdData.DataSource = data; grdData.DataBind(); }</data>
with asp .net checkbox onchange event will not work. If you see the render html
<span önchange="javascript:checkUncheck('Shojol')"><input id="MainContent_grdData_chkSelect_2" type="checkbox" name="ctl00
MainContent
grdData
这篇关于如何在gridview中的javascript函数中传递列值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!