asp.net mvc從View到Controller傳遞參數常用的有如下幾種:
1)Html.Action傳參到Controller(將另一個頁面加載到當前頁面)
2)Form表單傳參到Controller(URL/非URL兩種傳參)
3)JS的Get/Post傳參到Controller(URL/非URL兩種傳參)
4)利用A標簽傳參(URL傳參,是以可以不切確匹配路由傳參)
1)項目建立請拜見:
http://jingyan.baidu.com/article/a3aad71a160b4ab1fb0096e1.html
2)項目引用請拜見:
https://jingyan.baidu.com/article/dca1fa6f1fcc51f1a540524a.html
3)從Controller到View傳參:
https://jingyan.baidu.com/article/d5c4b52b91d4aeda570dc552.html
建立此次測試本家兒頁Index4的Action:
public ActionResult Index4()
{
return View();
}
添加Index4頁面,插手測試文字:測試從View到Controller傳遞參數
添加此次測試輔助頁面Index5的Action,用于領受參數,并將領受到的參數返回到界面上
/// <summary>
/// 測試頁面5(測試從View傳遞參數到Controller)
/// </summary>
/// <returns></returns>
public ActionResult Index5(string id, string parm2)
{
ViewBag.Id = id;
ViewBag.Parm2 = parm2;
return View();
}
添加Index5的頁面:
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Index5</title>
</head>
<body>
<div>
這是ViewBag.Id的值 = @(ViewBag.Id)
</div>
<div>
這是ViewBag.Parm2的值 = @(ViewBag.Parm2)
</div>
</body>
</html>
調試運行,注重,運行成果是Index頁面的內容,因為路由默認的是Index頁面,是以,需要在地址欄中輸入 Home/index4 才能達到此次測試的頁面
第一種:利用內置的Html.Action加載
@Html.Action("Index5", new { id = "id111111", parm2 = "parm11111111111" })
第二種:利用Form表單傳參
<form action="/Home/Index5" method="post">
<input type="text" value="id333333" name="id" />
<input type="text" value="parm2333333" name="parm2" />
<button type="submit">提交</button>
</form>
第三種:利用JS的Get/Post將值傳到Controller,此處自行腦補
第四種:利用A標簽(比力出格的一種,具體的出格點下篇再聊)
<a href="/Home/Index5/id222222" target="_blank">利用A標簽</a>
0 篇文章
如果覺得我的文章對您有用,請隨意打賞。你的支持將鼓勵我繼續創作!