关于asp.net的中绑定名称的大小写问题.
2007-04-19 13:53
337 查看
以前一直对数据绑定时的绑定名称大小写不是很理解, 刚才找到一批文章, 看完觉得豁然开朗, 文章摘抄如下.
UpdateParameters,InsertParameters参数的顺序一定要跟方法的参数顺序一样才可以,否则会抛出异常,说没有这个异常方法.
如:ObjectDataSource的UpdateMethod的方法为Update(string a,string b,int c),那么你UpdateParameters的参数应该这样写
<UpdateParameters>
<asp:Parameter Name="a" Type="String" />
<asp:Parameter Name="b" Type="String" />
<asp:Parameter Name="c" Type="Int32" />
</UpdateParameters>
2.
在用ObjectDataSource的时候,我发现数据显示控件里面的参数跟ObjecDataSource的参数是可以不区分大小写的,但在事件中读取参数的时候,参数的名字一定要跟ObjectDataSource设置的参数一摸一样,是区分大小写的.
如下面的代码:
<asp:FormView ID="fv" runat="server" DefaultMode="Insert" DataSourceID="odsFV" OnItemUpdated="fv_ItemUpdated"
OnItemInserting="fv_ItemInserting" OnItemInserted="fv_ItemInserted">
<InsertItemTemplate>
名称:
<asp:TextBox ID="TravelArticleTitleTextBox" runat="server" Text='<%# Bind("travelArticleTitle") %>'>
</asp:TextBox><br />
</InsertItemTemplate>
</asp:FormView>
<asp:ObjectDataSource ID="odsFV" runat="server" InsertMethod="Insert" OldValuesParameterFormatString="original_{0}"
SelectMethod="GetTravelArticleByTravelArticleID" TypeName="Obj.BLL.TravelArticleBLL"
UpdateMethod="Update" OnInserting="odsFV_Inserting">
<SelectParameters>
<asp:QueryStringParameter Name="travelArticleID" QueryStringField="TravelArticleID"
Type="Int32" />
</SelectParameters>
<InsertParameters>
<asp:CookieParameter CookieName="UserID" Name="userid" Type="String" />
<asp:Parameter Name="travelArticleTitle" Type="String" />
</InsertParameters>
</asp:ObjectDataSource>
其中:<asp:TextBox ID="TravelArticleTitleTextBox" runat="server" Text='<%# Bind("travelArticleTitle") %>'>
</asp:TextBox>中Text='<%# Bind("travelArticleTitle") %>'可以为Text='<%# Bind("TravelArticleTitle") %>'
但后台在事件读取参数中,如 protected void fv_ItemInserting(object sender, FormViewInsertEventArgs e){}
我们一定要写 e.Values["travelArticleTitle"] 而不能写e.Values["TravelArticleTitle"]
否则我们会读取不到值!这个可能会是很多人遇到的问题,所以我把他写出来了.也许对大家有帮助.呵呵.
UpdateParameters,InsertParameters参数的顺序一定要跟方法的参数顺序一样才可以,否则会抛出异常,说没有这个异常方法.
如:ObjectDataSource的UpdateMethod的方法为Update(string a,string b,int c),那么你UpdateParameters的参数应该这样写
<UpdateParameters>
<asp:Parameter Name="a" Type="String" />
<asp:Parameter Name="b" Type="String" />
<asp:Parameter Name="c" Type="Int32" />
</UpdateParameters>
2.
在用ObjectDataSource的时候,我发现数据显示控件里面的参数跟ObjecDataSource的参数是可以不区分大小写的,但在事件中读取参数的时候,参数的名字一定要跟ObjectDataSource设置的参数一摸一样,是区分大小写的.
如下面的代码:
<asp:FormView ID="fv" runat="server" DefaultMode="Insert" DataSourceID="odsFV" OnItemUpdated="fv_ItemUpdated"
OnItemInserting="fv_ItemInserting" OnItemInserted="fv_ItemInserted">
<InsertItemTemplate>
名称:
<asp:TextBox ID="TravelArticleTitleTextBox" runat="server" Text='<%# Bind("travelArticleTitle") %>'>
</asp:TextBox><br />
</InsertItemTemplate>
</asp:FormView>
<asp:ObjectDataSource ID="odsFV" runat="server" InsertMethod="Insert" OldValuesParameterFormatString="original_{0}"
SelectMethod="GetTravelArticleByTravelArticleID" TypeName="Obj.BLL.TravelArticleBLL"
UpdateMethod="Update" OnInserting="odsFV_Inserting">
<SelectParameters>
<asp:QueryStringParameter Name="travelArticleID" QueryStringField="TravelArticleID"
Type="Int32" />
</SelectParameters>
<InsertParameters>
<asp:CookieParameter CookieName="UserID" Name="userid" Type="String" />
<asp:Parameter Name="travelArticleTitle" Type="String" />
</InsertParameters>
</asp:ObjectDataSource>
其中:<asp:TextBox ID="TravelArticleTitleTextBox" runat="server" Text='<%# Bind("travelArticleTitle") %>'>
</asp:TextBox>中Text='<%# Bind("travelArticleTitle") %>'可以为Text='<%# Bind("TravelArticleTitle") %>'
但后台在事件读取参数中,如 protected void fv_ItemInserting(object sender, FormViewInsertEventArgs e){}
我们一定要写 e.Values["travelArticleTitle"] 而不能写e.Values["TravelArticleTitle"]
否则我们会读取不到值!这个可能会是很多人遇到的问题,所以我把他写出来了.也许对大家有帮助.呵呵.
相关文章推荐
- 关于ASP.NET中Request.QueryString的乱码问题
- [导入]关于ASP.NET返回文件的MIME的未解决问题
- 关于asp.net Session丢失问题的总结
- ASP.NET关于图片盗链接问题
- 关于asp.net Development Server无法运行网页的问题
- 关于asp.net获取数据库时间前台绑定年月日的方法
- 关于asp.net 2.0的GridView的问题
- asp.net mvc中 路径大小写问题
- asp.net关于页面不回发的问题,寻求完美解决方案
- 关于AJAX跨域调用ASP.NET MVC或者WebAPI服务的问题及解决方案
- [ZT] ASP.NET 关于大文件上传问题
- ASP.Net关于Validator控件的奇怪问题
- 关于在IIS服务器上运行asp.net Web程序出现下面 “Could not load file or assembly。。。”问题的
- 关于ASP.NET Web Api的HelpPage文档注释问题
- 关于ASP.NET 无法连接MySql数据库的问题和解决方法
- 关于ASP.NET Web Api的HelpPage文档注释问题
- asp.net关于模式窗口刷新问题
- ASP.NET中关于Javascript给TextBox赋值丢失问题解决
- asp.net 2.0)关于NavigateUrl中绑定Eval()方法时出现"服务器标记的格式不正确"的解决方法(转)
- 关于asp.net Session丢失问题的总结