使用mvc在文本框中不显示Json值

问题描述 投票:0回答:1

JSON数据没有显示在文本中,我创建了一个json函数,返回表数据函数工作正常,函数没有错误。 现在函数在函数执行成功时使用json调用,然后空白屏幕显示不显示任何数据。 当我把var Mname放在alert(Mname)时,数据显示我何时返回表单控制器。

var Mname = @Html.Raw(Newtonsoft.Json.JsonConvert.SerializeObject(TempData["Iname"]));
alert(Mname);
$(function() {

  $.ajax({
    type: "POST",
    url: '@Url.Action("MemberInformation_Detail")',
    data: Mname,
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: OnSuccess,
    failure: function(response) {
      alert(response.d);
    },
    error: function(response) {
      alert(response.d);
    }
  });

  function OnSuccess(response) {


    var table = $("#dvCustomers table").eq(0).clone(true);
    var customers = response;

    $("#dvCustomers table").eq(0).remove();
    $(customers).each(function() {
      $(".MemberID", table).val(this.MemberShipID);
      $(".name", table).val(this.name);
      $(".FName", table).val(this.FName);
      $(".Gender", table).val(this.Gender);
      $(".address", table).val(this.address);
      $(".phone1", table).val(this.phone1);
      $(".mobileno", table).val(this.mobileno);
      $(".email", table).val(this.email);
      //$(".ClientPic", table).val(this.ClientPic);

      //alert(this.ClientPic);

      $(".ClientPic", table).attr("src", "data:image/png;base64," + this.ClientPic);



      $("#dvCustomers").append(table).append("<br />");
      table = $("#dvCustomers table").eq(0).clone(true);
    });
  }
});
<form id="form1" action="">
  <div id="dvCustomers">
    <table class="tblCustomer" cellpadding="2" cellspacing="0" border="1">
      <tr>
        <th>
          <b><u><span class="name"></span></u></b>
        </th>
      </tr>
      <tr>
        <td>

          <b>MemberShipID: </b> <input type="text" class="MemberID" /><br />
          <b>name </b> <input type="text" class="name" /><br />
          <b>FName: </b><input type="text" class="FName" /><br />
          <b>Gender: </b><input type="text" class="Gender" /><br />
          <b>address: </b><input type="text" class="address" /><br />
          <b>phone1: </b><input type="text" class="phone1" /><br />
          <b>mobileno: </b><input type="text" class="mobileno" /><br />
          <b>email: </b><input type="text" class="email" /><br />
          <b>Client Pic: </b><input type="image" class="ClientPic" /><br /> 
          <div>
            
              alt="Red dot" />
          </div>
          <b>Client Pic: </b><img class="ClientPic" alt="" src="data:image/png;base64," />*@
        </td>
      </tr>
    </table>
  </div>
</form>
c# jquery asp.net ajax asp.net-mvc
1个回答
0
投票

编辑

我已经在我的机器上测试了这个代码它工作正常我希望它也适合你。

视图

    <form id="form1" action="">
        <div id="dvCustomers">
            <table class="tblCustomer" cellpadding="2" cellspacing="0" border="1">
                <tr>
                    <th>
                        <b><u><span class="name"></span></u></b>
                    </th>
                </tr>
                <tr>
                    <td>

                        <b>MemberShipID: </b> <input type="text" class="MemberID" /><br />
                        <b>name </b> <input type="text" class="name" /><br />
                        <b>FName: </b><input type="text" class="FName" /><br />
                        <b>Gender: </b><input type="text" class="Gender" /><br />
                        <b>address: </b><input type="text" class="address" /><br />
                        <b>phone1: </b><input type="text" class="phone1" /><br />
                        <b>mobileno: </b><input type="text" class="mobileno" /><br />
                        <b>email: </b><input type="text" class="email" /><br />
                        <b>Client Pic: </b><input type="image" class="ClientPic" /><br />
                        <b>Client Pic: </b><img class="ClientPic" alt="" src="data:image/png;base64," />
                    </td>
                </tr>
            </table>
        </div>
    </form>
    <script>
        var Mname = '@Html.Raw(Json.Encode(TempData["Iname"]))';
        alert(Mname);
        $(function () {

            $.ajax({
                type: "POST",
                url: '@Url.Action("MemberInformation_Detail")',
                data: JSON.parse(Mname),
                success: OnSuccess,
                failure: function (response) {
                    alert(response.d);
                },
                error: function (response) {
                    alert(response.d);
                }
            });

            function OnSuccess(response) {

                debugger
                var table = $("#dvCustomers table").eq(0).clone();
                var customers = response;

                $("#dvCustomers table").eq(0).remove();
                $(customers).each(function (index,item) {
                    $(".MemberID", table).val(item.MemberShipID);
                    $(".name", table).val(item.name);
                    $(".FName", table).val(item.FName);
                    $(".Gender", table).val(item.Gender);
                    $(".address", table).val(item.address);
                    $(".phone1", table).val(item.phone1);
                    $(".mobileno", table).val(item.mobileno);
                    $(".email", table).val(item.email);
                    //$(".ClientPic", table).val(this.ClientPic);

                    //alert(this.ClientPic);

                    $(".ClientPic", table).attr("src", "data:image/png;base64," + item.ClientPic);



                    $("#dvCustomers").append(table).append("<br />");
                    table = $("#dvCustomers table").eq(0).clone(true);
                });
            }
        });
    </script>

调节器

[HttpPost]
    // Receive parameters what you are passing
    public ActionResult MemberInformation_Detail(string name, string FName)
    {
        // return proper json object that contains all properties that you are using in js
        return Json(new { MemberShipID = 123, name = "Test", FName = "Fathename", Gender = "Male", address = "N/A", phone1 = "123456789", mobileno = "123456789", email = "[email protected]", ClientPic = "clientpic" });
    }
© www.soinside.com 2019 - 2024. All rights reserved.