[英]Pass a string value as parameter in Url.action
我正在使用asp.net mvc 4
和EF6
开发一个网站。 我想在Url.action
链接Url.action
字符串值作为参数Url.action
。 但是,每当我单击链接时,都会出现此错误:
此操作的参数类型'Edm.Int32'和'Edm.String'不兼容。 在WHERE谓词附近,第1行,第76列。
这是创建它的代码:
控制者
public ActionResult Edit(string EditId)
{
if (Session["username"] != null)
{
UserInfo uinfo = db.UserInfoes.Find(EditId);
return View(uinfo);
}
else
{
return RedirectToAction("HomeIndex");
}
}
视图
<a class="btn btn-info"
href="@Url.Action("Edit", "Home", new { EditId = item.regno.ToString() })"><b>Edit</b></a>
如何使用字符串值作为参数?
public ActionResult Edit(string EditId)
{
if (Session["username"] != null)
{
int id;
//Check try to parse the string into an int if it fails it will return false if it was parsed it will return true
bool result = Int32.TryParse(EditId, out id);
if (result)
{
//I wouldn't use find unless you're 100% sure that record will always be there.
//This will return null if it cannot find your userinfo with that ID
UserInfo uinfo = db.UserInfoes.FirstOrDefault(x=>x.ID == id);
//Check for null userInfo
return View(uinfo);
}
else
{
return RedirectToAction("HomeIndex");
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.