2017-04-04 24 views
0

我在引导模式弹出窗口中放置一个文本框,我也有一个表中的数据在表中的数据来自数据库,所以我想当我点击弹出显示数据库单元格值存在于模式弹出框中的文本框中。下面是我的代码获取数据库值在textboxFor MVS中的引导模式弹出窗口

这就是我的行动方法获取数据和数据传递给ViewBag.Type

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和阿贾克斯对链接点击ACALL操作方法的代码

<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> 

这里是在模式弹出

@Html.TextBoxFor(model => model.RoleType, new { @value=ViewBag.Type }) 
+0

很少的这是有道理的。您为'ViewBag'赋值,但返回'JsonResult'('ViewBag'用于将数据传递给视图)。如果你想返回'data.RoleType'回到视图,那么它的'return Json(data.RoleType,JsonRequestBehavior.AllowGet);' –

+0

然后如果你想把它分配给文本框,在成功回调中它的'成功:function(data){$('#RoleType').val(data);'}'(并从文本框中移除'new {@ value = ViewBag.Type}') –

+0

@StephenMuecke谢谢你解决我的问题我在CS领域是新的让我问一个问题,如果我有两个以上的文本框,也有复选框如何分配多个值查看 –

回答

0

的textBox您可以返回像波纹管你的数据,

return this.Json(new { result = true, Type = data.RoleType }, 
         JsonRequestBehavior.AllowGet); 

然后在您的AJAX的成功方法,你可以检索值一样,

success:function(data) 
{ 
var _result = data.result; 
var _Type = data.Type ; 
} 
+0

谢谢你它的解决我的问题我是在CS领域新我让我问一个问题,如果我有两个以上的文本框,也有CheckBoxes如何将多个值分配到View –

+0

在这种情况下,您可以创建一个Model类,例如“MyTextBoxNCheckBox”,并分配所有想要在视图中显示的属性,并在json return中返回该属性。很简单 :) –