DataObjectTypeName属性设为一个实体类时,怎样将文本框的值传给实体类做为Insert的参数? 我将ObjectDataSource的DataObjectTypeName属性设为一个实体类,通过GridView可以进行更新和删除,这时,实体类被自动实例化了,并自动传给Update等方法做为参数,但我要将文本框的值而非GridView行中的值作为Insert的参数时,就不知道怎么办了,GridView都是自动的啊。请各位大侠帮忙。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不是GridView中的文本框,是页面上另外添加的 在GridView外,是没办法执行GridView内的Update方法的,建议解决办法:在页面上加一个FormView来做更新也可以。 try to handle objectdatasource's inserting eventprotected void ObjectDataSource1_Inserting(object sender, ObjectDataSourceMethodEventArgs e) {.... e.InputParameters["Score"] = Convert.ToInt32(YourTextBox.Text); e.InputParameters["LastModifiedDate"] = DateTime.Now; } 如果你的输入全部来自你的输入框的话,那么你应该直接调用你的业务组件的对应Insert方法 思归老大,照你的提示去做,出现如下错误:ObjectDataSource1.Insert();提示运行这句时没有可插入的值!请问这是为什么? protected void LbtUpdate_Click(object sender, EventArgs e) { ObjectDataSource1.Insert();提示运行这句时没有可插入的值! GridView1.ShowFooter = false; } protected void ObjectDataSource1_Inserting(object sender, ObjectDataSourceMethodEventArgs e) { TextBox FuncName = (TextBox)GridView1.FooterRow.FindControl("TextBox2"); TextBox Description = (TextBox)GridView1.FooterRow.FindControl("TextBox2"); e.InputParameters.Add("FuncName",FuncName.Text); e.InputParameters.Add("Description",Description.Text); } why are you doing e.InputParameters.Add? don't call ObjectDataSource1.Insert() yourself 开始我是按老大的方法试的,是这样的: e.InputParameters["FuncName"] = FuncName.Text; e.InputParameters["Description"] = Description.Text;因为提示没有可插入的值,所以试了一下e.InputParameters.Add,也不行,复制代码时,就只复制了后一次的。请老大再发一下话。 don't you what you are doing, consider to use a DetailsView or FormView to insert records, or call your business object's Insert-related method directly 关于Gridview中HyperLinkField 点击打开时的 传值问题! 分页显示问题? 一个ImageButton同时注册了一个服务端事件和一个客户端事件,如何让服务端事件首先执行呢? asp.net面向对象性能的探讨 播放音乐的奇怪问题,在线等,急 新建一个TestClass.cs文件 如果再webform中引用这个类呢 求助:VS2003无法打开视图设计器 如何编辑aspx页面?做美工 请asp高手帮忙! 关于 ASP.NET 打包的问题 正则表达式的问题 一个有关数据绑定的问题,请大家提供一下方法,思路也行,谢谢大家了
建议解决办法:
在页面上加一个FormView来做更新也可以。
protected void ObjectDataSource1_Inserting(object sender, ObjectDataSourceMethodEventArgs e)
{
....
e.InputParameters["Score"] = Convert.ToInt32(YourTextBox.Text);
e.InputParameters["LastModifiedDate"] = DateTime.Now;
}
protected void LbtUpdate_Click(object sender, EventArgs e)
{
ObjectDataSource1.Insert();提示运行这句时没有可插入的值!
GridView1.ShowFooter = false;
}
protected void ObjectDataSource1_Inserting(object sender, ObjectDataSourceMethodEventArgs e)
{
TextBox FuncName = (TextBox)GridView1.FooterRow.FindControl("TextBox2");
TextBox Description = (TextBox)GridView1.FooterRow.FindControl("TextBox2");
e.InputParameters.Add("FuncName",FuncName.Text);
e.InputParameters.Add("Description",Description.Text);
}
e.InputParameters["FuncName"] = FuncName.Text;
e.InputParameters["Description"] = Description.Text;
因为提示没有可插入的值,所以试了一下e.InputParameters.Add,也不行,复制代码时,就只复制了后一次的。请老大再发一下话。