我對MVC有點新,並試圖將登錄頁面重寫爲MVC。 我無法將參數傳遞給控制器中的ActionResult,傳入的參數爲null。MVC 4 Html.ActionLink不傳遞參數給控制器
這裏查看
<div class="form-group">
<div class="row">
@Html.TextBoxFor(model => model.UserName)
</div>
</div>
<button class="btn btn-primary">
@Html.ActionLink("GO!", "AppList", "LogIn", new { @userName = Model.UserName}, null)
</button>
我試圖通過用戶名和密碼進入我的控制器。
public ActionResult AppList(string userName)
{
return View();
}
我查了其他帖子,我確定我正在使用適當的過載。
在這裏,我添加的路由配置
routes.MapRoute(
name: "LogIn",
url: "{controller}/{action}/{id}",
defaults: new { controller = "LogIn", action = "Index", id = UrlParameter.Optional }
);
這是我的ActionResult對於加載登錄頁面
public ActionResult LogIn(string userName, string password)
{
ViewBag.LogInButton = "Log In";
return View(new Login());
}
,並查看我給你一個模型
@model LogInPortal.Controllers.LogInController.Login
'Model.UserName'是否爲NON NULL值? – Shyju
@Shyju如果你的意思是我的模特?是的,它不是無效字段 public class Login { public string UserName {get;組; } public string Password {get;組; } } – TotalONE
你的代碼對我來說看起來很好。你是否改變了默認路由定義? – Shyju