如何使用updatepanle 中的gridview中的按钮调用 OnRowCommand事件

njrc 2010-10-23 10:45:48
一个updatepanle中的gridview中,有一列是button,commandname="sk",gridview 的onrowcommand="sk_rowcom",
后台定义sk_rowcom事件,判断commandname = "sk",然后找到index,更新数据库,重新绑定gridview,现在首次绑定可以,点击button,ie报错!初次使用updatepanle,像我这样,如何在updatepanle中调用gridview的后台函数?
...全文
406 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
njrc 2010-10-23
  • 打赏
  • 举报
回复
怎么设?
hookyzlr 2010-10-23
  • 打赏
  • 举报
回复
这里有问题:GridViewRow row = mygrid.Rows[Convert.ToInt32(e.CommandArgument)];
你的<asp:Button ID="Button1" runat="server" Text="编辑" CommandName="skrsupdate" />
并没有设置CommandArgument
njrc 2010-10-23
  • 打赏
  • 举报
回复
aspx:
<%@ Page Title="" Language="C#" MasterPageFile="~/Site1.Master" AutoEventWireup="true" CodeBehind="d_kaochang.aspx.cs" Inherits="jyzkkw.d_kaochang" %>
<%@ Register Assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
Namespace="System.Web.UI" TagPrefix="asp" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server" RenderMode="Inline">
<ContentTemplate>
<asp:GridView ID="mygrid" runat="server" AutoGenerateColumns="False" BackColor="White"
BorderColor="#DEDFDE" BorderStyle="None" BorderWidth="1px" CellPadding="4"
DataKeyNames="kjid" ForeColor="Black"
GridLines="Vertical"
Width="100%" OnRowCommand="skrsupdate_rowcommand">
<RowStyle BackColor="#EEF9DF" />
<Columns>
<asp:TemplateField HeaderText="序号">
<EditItemTemplate>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="lbl_kjid" runat="server" Text='<%# bind("kjid") %>'></asp:Label>
</ItemTemplate>
<ItemStyle Width="7%" />
</asp:TemplateField>
<asp:BoundField DataField="kd" HeaderText="考点" SortExpression="kd">
<ItemStyle Width="15%" />
</asp:BoundField>
<asp:BoundField DataField="t" HeaderText="时间" SortExpression="t">
<ItemStyle Width="10%" />
</asp:BoundField>
<asp:BoundField DataField="kc_dm" HeaderText="考场号" SortExpression="kc_dm">
<ItemStyle Width="8%" />
</asp:BoundField>
<asp:BoundField DataField="kcmc" HeaderText="课程名称" SortExpression="kcmc">
<ItemStyle Width="7%" HorizontalAlign="Right" />
<ItemStyle HorizontalAlign="Right" Width="30%" />
</asp:BoundField>
<asp:BoundField DataField="kch" HeaderText="课程号" SortExpression="kch">
<ItemStyle Width="10%" HorizontalAlign="Right" />
</asp:BoundField>
<asp:BoundField DataField="rs" HeaderText="应考人数" SortExpression="rs">
</asp:BoundField>
<asp:TemplateField HeaderText="实考人数" SortExpression="skrs">

<ItemTemplate>
<asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("skrs") %>'
Width="30px"></asp:TextBox>
</ItemTemplate>
<ItemStyle Width="7%" />
</asp:TemplateField>
<asp:TemplateField HeaderText="编辑">
<ItemTemplate>
<asp:Button ID="Button1" runat="server" Text="编辑" CommandName="skrsupdate" />
</ItemTemplate>
<ItemStyle Width="6%" />
</asp:TemplateField>
</Columns>
<FooterStyle BackColor="#CCCC99" />
<PagerStyle BackColor="#F7F7DE" ForeColor="Black" HorizontalAlign="Right" />
<SelectedRowStyle BackColor="#CE5D5A" Font-Bold="True" ForeColor="White" />
<HeaderStyle BackColor="#9DDD4A" Font-Bold="True" ForeColor="White" />
<AlternatingRowStyle BackColor="White" />
</asp:GridView>

</ContentTemplate>
<Triggers>
  <asp:AsyncPostBackTrigger ControlID="mygrid" EventName="RowCommand" />
</Triggers>
</asp:UpdatePanel>
</asp:Content>
cs:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
bindgrid();
}
}

protected void skrsupdate_rowcommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "skrsupdate")
{
GridViewRow row = mygrid.Rows[Convert.ToInt32(e.CommandArgument)];
TextBox mytxt = row.FindControl("TextBox2") as TextBox;
if (mytxt.Text != "" && mytxt.Text != null)
{
Label mylable = row.FindControl("lbl_kjid") as Label;
mylinq1DataContext db = new mylinq1DataContext();
var result = from my in db.kj
where my.kjid == Convert.ToInt32(mylable.Text)
select my;
if (Convert.ToInt32(mytxt.Text) != result.First().skrs)
{
foreach (var my in result) { my.skrs = Convert.ToInt32(mytxt.Text); }
db.SubmitChanges();

}
}
}
}

protected void bindgrid()
{
mylinq1DataContext db = new mylinq1DataContext();
var t_result = from my in db.t
where System.DateTime.Now > my.starttime.AddMinutes(30) && System.DateTime.Now < my.starttime.AddHours(3) && my.kaociid == Int32.Parse(Session["kaociid"].ToString())
select my;
if (t_result.Count() > 0)
{
ProfileBase myprofile = new ProfileBase();
myprofile.Initialize(HttpContext.Current.User.Identity.Name,true);
string my_kd_dm = myprofile.GetPropertyValue("kddm").ToString();
var kj_result = from my in db.kj
where my.kaociid == Int32.Parse(Session["kaociid"].ToString()) && my.t == t_result.First().t1 && my.kd == my_kd_dm
select my;
mygrid.DataSource = kj_result;
mygrid.DataBind();
}
}
}
,
ie报错:
Sys.Res={"argumentInteger":"值必须为整数。","scriptLoadMultipleCallbacks":"脚本“{0}”包含对 Sys.Application.notifyScriptLoaded() 的多个调用。只允许一个调用。","invokeCalledTwice":"无法调用 invoke 多次。","webServiceFailed":"服务器方法“{0}”失败,并发生以下错误: {1}","webServiceInvalidJsonWrapper":"服务器方法“{0}”返回的数据无效。JSON 包装缺少“d”属性。","argumentType":"无法将对象转换为所需类型。","argumentNull":"值不能为 null。","controlCantSetId":"无法在控件上设置 ID 属性。","formatBadFormatSpecifier":"格式说明符无效。","webServiceFailedNoMsg":"服务器方法“{0}”失败。","argumentDomElement":"值必须为 DOM 元素。","invalidExecutorType":"无法从 {0} 中创建有效的 Sys.Net.WebRequestExecutor。","cannotCallBeforeResponse":"responseAvailable 为 false 时无法调用 {0}。","actualValue":"实际值是 {0}。","enumInvalidValue":"“{0}”对于枚举 {1} 不是有效的值。","scriptLoadFailed":"无法加载脚本“{0}”。","parameterCount":"参数计数不匹配。","cannotDeserializeEmptyString":"无法反序列化空字符串。","formatInvalidString":"输入字符串的格式不正确。","invalidTimeout":"值必须大于或等于零。","cannotAbortBeforeStart":"执行器尚未启动时无法中止。","argument":"值不在预期的范围内。","cannotDeserializeInvalidJson":"无法反序列化。数据未对应于有效的 JSON。","invalidHttpVerb":"httpVerb 不能设置为空字符串或 null 字符串。","nullWebRequest":"无法调用带有 null webRequest 的 executeRequest。","eventHandlerInvalid":"未通过 Sys.UI.DomEvent.addHandler 方法添加处理程序。","cannotSerializeNonFiniteNumbers":"无法序列化无限数。","argumentUndefined":"值不能是未定义的。","webServiceInvalidReturnType":"服务器方法“{0}”返回了无效类型。期望的类型: {1}","servicePathNotSet":"尚未设置 Web 服务的路径。","argumentTypeWithTypes":"类型“{0}”的对象无法转换为类型“{1}”。","cannotCallOnceStarted":"启动后将无法调用 {0}。","badBaseUrl1":"基 URL 不包含 ://。","badBaseUrl2":"基 URL 不包含另一个 /。","badBaseUrl3":"在基 URL 中找不到最后一个 /。","setExecutorAfterActive":"无法在执行器已激活之后对其进行设置。","paramName":"参数名: {0}","cannotCallOutsideHandler":"无法在完成的事件处理程序外部调用 {0}。","cannotSerializeObjectWithCycle":"无法序列化子属性中具有循环引用的对象。","format":"已标识项中有一项的格式无效。","assertFailedCaller":"断言失败: {0}\r\n位置为 {1}","argumentOutOfRange":"指定的参数已超出有效值的范围。","webServiceTimedOut":"服务器方法“{0}”已超时。","notImplemented":"方法或操作未实现。","assertFailed":"断言失败: {0}","invalidOperation":"对象的当前状态使该操作无效。","breakIntoDebugger":"{0}\r\n\r\n是否中断至调试器?"};
if(typeof(Sys)!=='undefined')Sys.Application.notifyScriptLoaded();
麻烦诊断
wuyq11 2010-10-23
  • 打赏
  • 举报
回复
<asp:UpdatePanel ID="UpdatePanel1" runat="server" RenderMode="Inline">
<ContentTemplate>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="ID" DataSourceID="SqlDataSource1" OnRowCommand="GridView1_RowCommand">
<Columns>
<asp:BoundField DataField="ProductID" HeaderText="ID" InsertVisible="False" ReadOnly="True" SortExpression="ID" />
<asp:BoundField DataField="Name" HeaderText="Name" SortExpression="Name" />
<asp:TemplateField>
<ItemTemplate>
<asp:Button ID="Button1" runat="server" Text="x" CommandName="x"/>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="Data Source=" ProviderName="System.Data.SqlClient" SelectCommand="SELECT * FROM [Tb]"></asp:SqlDataSource>
</ContentTemplate>
</asp:UpdatePanel>
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "X")
{

}
}
内容概要:本文围绕“新型电力系统下多分布式电源接入配电网承载力评估方法”的研究,系统性地介绍了基于Matlab的仿真建模与代码实现方案,旨在评估高比例分布式电源(如光伏、风电等)接入背景下配电网的接纳能力。研究融合了智能优化算法(如蜣螂优化、灰狼优化、遗传算法)、多目标优化、鲁棒优化及双层优化模型,结合潮流计算、稳定性分析与故障仿真,构建了完整的承载力评估体系。文档不仅提供核心算法实现,还拓展至微电网调度、储能配置、电氢耦合系统、电动汽车协同等前沿方向,强调“复现+创新”相结合的科研路径,助力研究者快速掌握高水平论文复现技巧并激发原创思路。; 适合人群:具备电力系统、自动化或相关专业背景,熟悉Matlab/Simulink仿真环境,正在从事科研或工程应用的研究生及初级科研人员(工作1-3年);; 使用场景及目标:①复现高水平期刊关于配电网承载力的优化模型;②开展高比例可再生能源接入下的配电网规划与运行研究;③学习并应用智能优化算法解决复杂电力系统问题;④获取完整科研资源包以加速课题进展与论文撰写; 阅读建议:建议读者关注公众号“荔枝科研社”获取网盘资源,下载全套代码与模型文件,按照文档结构循序渐进学习,重点理解算法设计逻辑与仿真建模细节,结合所提供的复现案例深化对优化模型与工程应用场景的理解,提升科研效率与创新能力。

62,272

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧