0
我在我的頁面有一個ViewBag
。當頁面加載時,它顯示的值爲ViewBag
。MVC Viewbag更新的值不顯示
我也有一個DropDownList
。我想更改選擇更改事件中的ViewBag
值,並通過ajax
將值發送到Controller
。 Controller
也返回正確的值。
在我的代碼ViewBag
正在更新,但它沒有顯示在HTML(在瀏覽器上)。
我沒有任何線索爲什麼它不工作!我View
<div id="UserSelection">--Select User--
@Html.DropDownListFor(m => m.Item1, new SelectList(Users, "ID", "Names"), new { ID = "UserSelection", @Style = "width:50%;border:none" })
</div>
@Html.Raw(ViewBag.UserID)
我Controller
public ActionResult Permission()
{
ViewBag.UserID = Session["UserID"].ToString();
ViewBag.Permissions = Session["PermissionCollection"] as List<int>;
return View();
}
[HttpPost]
public ActionResult Users(string UserID)
{
List<int> data = new List<int>();
int id = Convert.ToInt16(UserID);
Permission perm = new Permission();
data = perm.SlectedPermissions(id);
ViewBag.UserID = UserID.ToString();
ViewBag.Permissions = data as List<int>;
return View("Permission");
}
我jQuery
$("#UserSelection").change(function() {
var ID = $('#UserSelection option:selected').val();
console.log(ID);
$("#empID").val(ID);
$.ajax({
traditional: true,
async: false,
url: '@Url.Content("~/Permission/Users")',
type: "POST",
data: { UserID: ID },
success: function (data) {
}
});
});
當你進行ajax調用而不更新前端的結果時,你如何期待數據被更新?我敢打賭,如果你做了一個正常的帖子,它會正常工作 – Pete
更改'url:'@ Url.Content(「〜/ Permission/Users」)','到'url:'@ Url.Action(「Users」,「Permission 「)」,'。內容用於靜態文件(即圖片),而Action則用於應用程序中的網址。 – Marthijn