Javascript 在MVC的引导模式弹出窗口中的textboxFor中获取数据库值
我在引导模式弹出窗口中放置了一个文本框,并且我在表格中有一个扭结,表格中的数据来自数据库,因此我希望在单击弹出窗口时在模式弹出窗口中存在的文本框中显示数据库单元格值。下面是我的代码 这是我获取数据并将数据传递到ViewBag的操作方法Javascript 在MVC的引导模式弹出窗口中的textboxFor中获取数据库值,javascript,c#,asp.net-mvc,asp.net-mvc-4,asp.net-mvc-3,Javascript,C#,Asp.net Mvc,Asp.net Mvc 4,Asp.net Mvc 3,我在引导模式弹出窗口中放置了一个文本框,并且我在表格中有一个扭结,表格中的数据来自数据库,因此我希望在单击弹出窗口时在模式弹出窗口中存在的文本框中显示数据库单元格值。下面是我的代码 这是我获取数据并将数据传递到ViewBag的操作方法 public JsonResult LinkButton(int RoelID) { Role model = new Role(); Session["State"] = RoelID; int id = RoelID; Role
public JsonResult LinkButton(int RoelID)
{
Role model = new Role();
Session["State"] = RoelID;
int id = RoelID;
RoleServices ser = new RoleServices();
var data = ser.Get(id);
bool result=false;
if(Session["State"]!=null)
{
ViewBag.Type = data.RoleType;
result=true;
}
return Json(result, JsonRequestBehavior.AllowGet);
}
下面是JQuery和Ajax的代码,以及单击链接时的操作方法
<a href="#" onclick="UpdateID(@item.RoelID)">Select</a>
<script>
var UpdateID = function (RoelID) {
$("#hiddenID").val(RoelID);
var roleID=$("#hiddenID").val();
$.ajax({
type: "post",
url: '@Url.Action("LinkButton", "Account")',
data: { RoelID: roleID },
success:function()
{
$("moReg").modal('hide');
}
})
$("#moReg").modal('show');
}
</script>
您可以像下面这样返回数据
return this.Json(new { result = true, Type = data.RoleType },
JsonRequestBehavior.AllowGet);
然后在ajax成功方法中,您可以检索如下值:
success:function(data)
{
var _result = data.result;
var _Type = data.Type ;
}
这些都没有什么意义。为
ViewBag
赋值,但返回JsonResult
(ViewBag
用于向视图传递数据)。如果要将data.RoleType
返回视图,则其返回Json(data.RoleType,JsonRequestBehavior.AllowGet)
然后,如果要将其分配给文本框,则在成功回调中,将其success:function(data){$('#RoleType').val(data);
}`(并从文本框中删除new{@value=ViewBag.Type}
)@StephenMuecke谢谢它解决了我的问题我是CS领域的新手让我问一个问题如果我有两个以上的文本框,也有复选框如何给视图分配多个值然后只返回一个包含你想要的值的匿名对象-返回Json(新的{id=1,name='abc',…})
并使用var id=data.id访问它;var name=data.name代码>etc@StephenMuecke非常感谢。。。上帝保佑你谢谢它解决了我的问题我是CS领域的新手让我问一个问题如果我有两个以上的文本框,也有复选框如何为视图分配多个值在这种情况下,你可以创建一个模型类,例如“MyTextBoxNCheckBox”并指定要在视图中显示的所有属性,并以json返回。很简单:)
success:function(data)
{
var _result = data.result;
var _Type = data.Type ;
}