我现在页面上有三个select表单,这三个select表单是用$.getJSON这个方式赋值的,现在在用Html.BeginForm提交的时候后台获取不到值? 这是其中一个select 表单的赋值代码,其他的都一样,大家帮忙看看!谢谢了!
$(document).ready(function () {
GetByJquery();
GetUser();
$("#selOnemenu").change(function () { GetCity() });
});
function GetByJquery() {
//$("#selOnemenu").empty(); //清空省份SELECT控件
$.getJSON("/RoleMenus/GetmenuOneList", function (data) {
$.each(data, function (i, item) {
$("<option></option>")
.val(item["MENU_GUID"])
.text(item["MENU_NAME"])
.appendTo($("#selOnemenu"));
});
//GetCity();
});
}
就是Controller获取不到值!
Controller中是这样获取的 string num=Request.Form["selOnemenu"];
我怎么看不到你传参数给后台呢?
$.getJSON(url,data.success(){});
我的页面上是用Html.BeginForm()这个提交的!
我在页面上只是读取数据!没有王回传数据! 用的Html.BeginForm()这个提交的表单!但是在Controller 里面就获取不到值!
你的selOnemenu这个select有name了没有,只有id没有name浏览器不会提交这个控件值,除非你的Html.BeginForm有处理没有name的控件
这是前台页面
$(document).ready(function () { GetByJquery(); GetUser(); $("#selOnemenu").change(function () { GetCity() }); }); function GetByJquery() { //$("#selOnemenu").empty(); //清空省份SELECT控件 $.getJSON("/RoleMenus/GetmenuOneList", function (data) { $.each(data, function (i, item) { $("<option></option>") .val(item["MENU_GUID"]) .text(item["MENU_NAME"]) .appendTo($("#selOnemenu")); }); //GetCity(); }); } function GetCity() { //$("#selTowmenu").empty(); //清空城市SELECT控件 //alert($("#selOnemenu").val()+">>>>>>>>>>"); var url = "/RoleMenus/GetTowMenuList?menuNum=" + $("#selOnemenu").val(); $.getJSON(url, function (data) { $.each(data, function (i, item) { $("<option></option>") .val(item["MENU_GUID"]) .text(item["MENU_NAME"]) .appendTo($("#selTowmenu")); }); }); } function GetUser() { //$("#selUserinfo").empty(); //清空省份SELECT控件 $.getJSON("/RoleMenus/GetUserList", function (data) { $.each(data, function (i, item) { $("<option></option>") .val(item["ROLES_ID"]) .text(item["ROLES_NAME"]) .appendTo($("#selUserinfo")); }); GetCity(); }); }@using (Html.BeginForm("AddRolesMenus", "RoleMenus", FormMethod.Get))
{
一级菜单名称:
请选择
二级菜单名称:
请选择
用 户 名 称:
请选择
}
这是后台Controller 里面获取数据的方法 ,后台就是获取不到数据!
public ActionResult AddRolesMenus(FormCollection collection)
{
RoleMenuInfo roleMenu = new RoleMenuInfo();
roleMenu.RM_GUID =System.Guid.NewGuid().ToString();
roleMenu.RM_MENU_ONE_NUM = Request.Form["selOnemenu"];
roleMenu.RM_ROLE_NUM = Request.Form["selUserinfo"];
roleMenu.RM_MENU_TWO_NUM = Request.Form["selTowmenu"];
int count=RoleMenuSer.AddRoleMenuInfo(roleMenu);
if (count > 0)
{
return Content("OK:添加成功!");
}
else
{
return Content("NO:添加失败!");
}
}
请选择
这是其中一个控件!
用GET方式提交 在浏览器的地址栏里面都出来了!能看见这几个参数和值!
好了,Controller 里面改成这样接收就好了 Request.Params["selOnemenu"].ToString(); 谢谢各位了!