C# GridView行命令未更新控件值
我在Gridview中有一个LinkButton,它会弹出一个jQuery弹出框以确认删除。此外,我还触发了Gridview行命令,该命令应该为jQuery弹出框中的textbox赋值。这里的问题是,单击LinkButton后会出现弹出框,但RowCommand事件不会为文本框赋值。事实上,textbox返回到它原来的默认值 我在谷歌上搜索了太多这个问题,但找不到正确的解决方案。下面是我的代码,任何帮助都是非常值得赞赏的C# GridView行命令未更新控件值,c#,javascript,jquery,asp.net,gridview,C#,Javascript,Jquery,Asp.net,Gridview,我在Gridview中有一个LinkButton,它会弹出一个jQuery弹出框以确认删除。此外,我还触发了Gridview行命令,该命令应该为jQuery弹出框中的textbox赋值。这里的问题是,单击LinkButton后会出现弹出框,但RowCommand事件不会为文本框赋值。事实上,textbox返回到它原来的默认值 我在谷歌上搜索了太多这个问题,但找不到正确的解决方案。下面是我的代码,任何帮助都是非常值得赞赏的 //The code behind GridView_RowCom
//The code behind GridView_RowCommand event
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
string arguments = e.CommandName + " - " + e.CommandArgument.ToString() + " - " + e.CommandSource.ToString();
if (e.CommandName == "Delete")
{
txt.Text = e.CommandArgument.ToString();
}
}
//Page Source
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<div id="myModal" class="reveal-modal">
<h1>Delete</h1>
<p>This will guide you through the delete process</p>
<asp:TextBox ID="txt" runat="server"></asp:TextBox>
<p><asp:Button ID="Button2" runat="server" Text="Button" /></p>
<a class="close-reveal-modal">×</a>
</div>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataSourceID="RBUEntityDataSource" CssClass="gridview" OnRowCommand="GridView1_RowCommand" EnableViewState="True">
<Columns>
<asp:BoundField DataField="Id" HeaderText="Id" ReadOnly="True" SortExpression="Id" />
<asp:BoundField DataField="Region" HeaderText="Region" ReadOnly="True" SortExpression="Region" />
<asp:TemplateField HeaderText="Update">
<ItemTemplate>
<asp:LinkButton ID="lbUpdate" runat="server" CommandName="Update" OnClick="lbUpdate_Click">Update</asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Delete">
<ItemTemplate>
<asp:LinkButton ID="lbDelete" class="big-link" data-reveal-id="myModal" runat="server" CommandName="Delete" CommandArgument='<%# Eval("Id") %>'>Delete</asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:EntityDataSource ID="RBUEntityDataSource" runat="server" ConnectionString="name=ChemonicsDBEntities" DefaultContainerName="ChemonicsDBEntities" EnableFlattening="False" EntitySetName="RegionalBusinessUnits" Select="it.[Id], it.[Region]" OrderBy="it.[Id] asc" Where="it.[DeletedBy] = 0">
</asp:EntityDataSource>
</ContentTemplate>
</asp:UpdatePanel>
//GridView命令事件背后的代码
受保护的void GridView1_row命令(对象发送方,GridViewCommandEventArgs e)
{
字符串参数=e.CommandName+“-”+e.CommandArgument.ToString()+“-”+e.CommandSource.ToString();
如果(如CommandName==“删除”)
{
txt.Text=e.CommandArgument.ToString();
}
}
//页面源
删除
这将指导您完成删除过程
×
更新
删除
在使用asp:updatepanel时,我们必须进行一些更改。如果您使用的是JQuery,请查找JQuery函数
您必须添加一个load()函数,该函数将添加结束请求
事件,并将注册jquery
函数(这里是jsFunctions)
像这样
<script language="javascript" type="text/javascript">
function load() {
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(jsFunctions);
}
function jsFunctions() {
$("#btnClick").click(function () {
alert("Alert");
});
}
</script>
函数加载(){
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(jsFunctions);
}
函数jsFunctions(){
$(“#btnClick”)。单击(函数(){
警报(“警报”);
});
}
最后
<body onload="load()">
@Hassansar如何做到这一点。你能指引我吗?