【发布时间】:2015-10-22 23:44:08
【问题描述】:
我的 aspx 页面中有以下标签
<input type="checkbox" id="chkFlags" name="chkFlags" value="<%#DataBinder.Eval(DataItemContainer, "DataItem.Tag_ID") %>" <%#SelectTags(DataBinder.Eval(Container, "DataItem.Tag_ID")) %>/>
我收到以下错误:
参数类型“对象”不能分配给参数类型“字符串”
突出显示的行的部分是:
<%#SelectTags(DataBinder.Eval(Container, "DataItem.Tag_ID"))
我的 SelectTags 例程如下:
public string SelectTags(string Tag_ID)
{
string[] aTags = mobjFormat.StripObjectToString(Request.Form["chkFlags"]).Split(Convert.ToChar(",")); //added square brackets to Request.Form and syntax to convert from string to char 10/21/15 Max //
string sItem = "";
string sReturn = "";
mobjSecurity.MessageStack_Insert("Procedure", "SelectTags", "");
foreach (string sItem_loopVariable in aTags)
{
sItem = sItem_loopVariable;
if (sItem.Trim() == Tag_ID.ToString().Trim()) //added parenthesis to Trim and ToString 10/21/15 Max //
{
sReturn = " checked='checked' ";
}
}
mobjSecurity.MessageStack_Insert("sReturn", sReturn, "SelectTags");
return sReturn;
}
我不确定需要完成什么来修复此错误,也许我只是遗漏了一些东西(我花了很多时间查看此代码)
谁能指出我修复此 TIA 的方向
【问题讨论】:
-
DataBinder.Eval返回一个object,而您的SelectTags想要一个string。看起来您可能需要使用ToString()进行转换或转换? -
谢谢尤哈尔!我不敢相信就是这样。也许该回家睡觉了:-)
-
正要回答这个问题,然后才意识到答案在评论中!您应该将答案添加为答案,以便可以接受! :)
-
@SpaceBison -- 完成