我剛剛從朋友那裏得到一些MVC應用程序來幫助他解決這個問題,但這是我第一次使用MVC,我一直在使用C#allready已超過1年,但從未使用過ASP.NET MVC
。爲什麼有2種編輯方式和2種方法在MVC控制器中創建
我的問題是接下來,當我打開他正在用於編輯和添加新用戶的controller
時,我看到有2個編輯方法和兩個CREATE方法,我很困惑爲什麼它是這樣的,這裏是唯一的創建方法的代碼:
public ActionResult CreateUser()
{
var model = new UserTypeNew()
{
Roles = new List<user_userroles>()
};
List<roles> allRoles = RolesController.SelectAll();
foreach (var item in allRoles)
{
user_userroles tempName = new user_userroles()
{
RoleID = item.RoleID,
roles = item
};
model.Roles.Add(tempName);
}
return View(model);
}
但同時又存在CREATEUSER方法,我很困惑,爲什麼後?我看不到他們每個人的目的..我可以看到他們是不同的,但有人可以解釋我爲什麼這樣,他想達到什麼(不幸的是,他現在不可用,所以我不能跟他說話這段代碼)。
[HttpPost]
public ActionResult CreateUser(User model)
{
if (ModelState.IsValid)
{
database_user newUser = new database_user()
{
UserName=model.UserName,
FirstName=model.FirstName,
LastName=model.LastName
};
UserController.InsertNewUser(newUser);
// I deleted code about adding roles
return RedirectToAction("Index", "Users");
}
return View(model);
}
我能注意到的區別,而不是代碼,有[HttpPost]
上述第二種方法,和我真的不知道他們爲什麼如此不同?以及爲什麼兩個同名的?
謝謝你們 乾杯
如果它們是不同的名稱,應該在CreateUser.chhtml視圖中更改任何內容或無關緊要? –
假設您使用'@ Html.BeginForm'方法,表單文章需要具有應該發佈的ActionMethod的正確名稱。否則,如果您只是使用'