我的aspx页面中有以下标记
<input type="checkbox" id="chkFlags" name="chkFlags" value="<%#DataBinder.Eval(DataItemContainer, "DataItem.Tag_ID") %>" <%#SelectTags(DataBinder.Eval(Container, "DataItem.Tag_ID")) %>/>
我收到以下错误:
参数类型&#39;对象&#39;不能分配给参数类型&#39;字符串&#39;
突出显示的行部分是:
<%#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
答案 0 :(得分:0)
正如Juharr指出的那样,我刚刚错过了线上的ToString转换。所以我修改如下:
<%#SelectTags(DataBinder.Eval(Container, "DataItem.Tag_ID").ToString())