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

asp CommandArgument='<%# Eval("UserID") %>' UserID为单引号时报错解决办法

2012-04-26 
asp CommandArgument%# Eval(UserID) % UserID为单引号时报错asp:GridView Width715px BorderW

asp CommandArgument='<%# Eval("UserID") %>' UserID为单引号时报错
<asp:GridView Width="715px" BorderWidth="0" ID="gvManage" runat="server" AutoGenerateColumns="False"
  ShowHeader="False" OnRowCommand="GvManage_RowCommand" 
  DataKeyNames="UserID" OnRowDataBound="GvManage_RowDataBound" 
  TabIndex="11" >
  <Columns>
  <asp:TemplateField HeaderText="変更">
  <ItemTemplate>
  <asp:ImageButton ID="btnUpd" runat="server" ImageUrl="../Resource/Image/NewImage/btn_Update_d.gif" AlternateText="変更"
  CommandArgument='<%# Eval("UserID") %>' onmouseover="smartMouserOver(this);" onmouseout="smartMouserOut(this);" CommandName="Upd" />  
  </ItemTemplate>
  <ItemStyle CssClass="TitleLeftTD" Width="47px"/>
  </asp:TemplateField>
UserID为单引号时在IE9中不会报错,但是在IE6中显示时会报错。如何修改啊各位大侠

[解决办法]
CommandArgument='<%# Eval("UserID") %>'
是单引号的话就代表'<%# Eval('这是一个字符串
') %>'这是另外一个字符串 中间还有一个UserID不知道是什么类型
故而报错!
[解决办法]
要不你试试。。。转译字符吧 。。。。。。。


[解决办法]
CommandArgument='<%# Eval("UserID").ToString().Replace("'","&apos;") %>'
[解决办法]
CommandArgument='<%#Bind("UserID") %>' 这样应该就没有问题了
[解决办法]
<%# GetUrl(Eval("UserID").ToString(),"3")
改成

<%=GetUrl(Eval("UserID").ToString(),"3")
后台写的方法要用<%=%>而不是#
[解决办法]
Text='<%# GetUrl(Convert.ToString(Eval("UserID")),"3")%>'>

 GetUrl方法你确定有返回值吗
[解决办法]
OnClientClick='<%# GetUrl(Eval("UserID").ToString(),"3") %>'

OnClientClick这个是要写JS脚本,不能调用后台方法
[解决办法]
GetUrl的代码是怎么写的啊
[解决办法]
Eval绑定应该没有问题,你应该是在后台代码取值的时候出现了问题,因为Eval取得的数据类型是Object,所以你在取值的时候,当UserID是Int类型时你应该这么取:int id=int.Parse(e.CommandArgument.ToString())
[解决办法]
CommandArgument='<%#Bind("UserID") %>'

热点排行