首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

关于DetailsView的更新有关问题,请大家帮帮忙!

2012-01-29 
关于DetailsView的更新问题,请大家帮帮忙!!!!!!!!!!!!!!!这是我在DetailsView的ItemUpdated事件中写的代码

关于DetailsView的更新问题,请大家帮帮忙!!!!!!!!!!!!!!!
这是我在DetailsView的ItemUpdated事件中写的代码.SqlDataSource2的连接字符串写在配置文件中,我在这里用代码动态指定SqlDataSource的连接字符串,并指写SqlDataSource2的UpdateCommandType等于存储过程名:UPCASE,我觉得我的代码没有什么问题,可是运行时总是报错:::异常详细信息:     System.NotSupportedException:     除非指定了     UpdateCommand,否则数据源“SqlDataSource2”不支持更新操作。     ---    
我已经在代码中指定了UpdateCommand是存储过程,这个错误是不是让我写一个UpdateCommand的事件委托???????    
其实这个功能,用自动生成即可实现,并且很方便,可是老板要分层来作,HTML页面及    
*.ASPX.CS代码页面都不准写SQL语句.我才用存储过程来作的,出了问题又不知怎么办?恳请大家指点迷经??先谢谢你们了!!!!!    
 
protected     void     DetailsView1_ItemUpdated(object     sender,     DetailsViewUpdatedEventArgs     e)    
{    
                              string     caseid     =     DetailsView1.DataKey[ "caseID "].ToString();    
                              //string     ndname     =     DetailsView1.Fields[1].ToString();     //取列头文字        
                              string     ntitle     =     ((TextBox)DetailsView1.Rows[0].Cells[1].Controls[0]).Text.ToString();         //取绑定列的值    
                              string     ndname     =     ((TextBox)DetailsView1.Rows[1].Cells[1].Controls[0]).Text.ToString();            
                              TextBox     DetailText     =     (TextBox)(DetailsView1.Rows[2].FindControl( "TextBoxContent "));                 //取模板列的值    
                              string     ncontext     =     DetailText.Text.ToString();    
 
                      //DataRowView     DrView     =     (DataRowView)DetailsView1.DataItem;                 //这种方式取不到值,可书上却是这样写的.    
                      //DetailsViewRow     DtView     =(DetailsViewRow)DetailsView1.DataItem;    
                      //string     ntitle     =     DrView[ "title "].ToString();                                                                     //这种方式取不到值,可书上却是这样写的.        
 
                              ConnectionStringSettings     ConnSetings     =     System.Web.Configuration.WebConfigurationManager.ConnectionStrings[ "HospitStr "];    
                              SqlDataSource2.ConnectionString     =     ConnSetings.ConnectionString;    


 
                              SqlDataSource2.UpdateCommandType     =     SqlDataSourceCommandType.StoredProcedure;    
                              SqlDataSource2.UpdateCommand     =     "UPCASE ";             //UPCASE为存储过程名    
                              SqlDataSource2.UpdateParameters.Clear();    
                              SqlDataSource2.UpdateParameters.Add( "title ",     TypeCode.String,     ntitle);    
                              SqlDataSource2.UpdateParameters.Add( "dname ",     TypeCode.String,     ndname);    
                              SqlDataSource2.UpdateParameters.Add( "content ",     TypeCode.String,     ncontext);    
                              SqlDataSource2.UpdateParameters.Add( "caseID ",     TypeCode.Int32,     caseid);    
 
                              SqlDataSource2.Select(DataSourceSelectArguments.Empty);    
                              DetailsView1.DataBind();    
                              DetailsView1.ChangeMode(DetailsViewMode.Insert);    
              }

[解决办法]
路过

热点排行