簡體   English   中英

將字符串值作為參數傳遞給Url.action

[英]Pass a string value as parameter in Url.action

我正在使用asp.net mvc 4EF6開發一個網站。 我想在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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM