0

Controller アクションから返された文字列を View のテキスト ボックスにバインドしたいと考えています。どんな助けでも感謝します。コントローラーの私のコードは次のとおりです。

public ActionResult Display(ViewModel.CompanyViewModel entityViewModel)
        {           
            int size=3;

            string password="0123456789";
            Random rnd = new Random();
            System.Text.StringBuilder stringBuilder = new System.Text.StringBuilder(size);

            for (int i = 1; i <= size; i++)
            {
                stringBuilder.Append(password[rnd.Next(password.Length)]);
            }
            Managers.CompanyManager companyManager = new Managers.CompanyManager();
            entityViewModel.SequentialId = stringBuilder.ToString();
            int isCustomerIDExists = companyManager.isExistsSequentialID(entityViewModel);
            if (isCustomerIDExists > 0)
            {
                for (int i = 1; i <= size; i++)
                {
                    stringBuilder.Append(password[rnd.Next(password.Length)]);
                }            
            }
            string str = stringBuilder.ToString();

            return Json(new { str = str }, JsonRequestBehavior.AllowGet);
        }

View-Javascript の私のコードは次のとおりです。

<script type="text/javascript">

    function btnNextAvailable_OnClick() {
        $("#nextAvailableButtonClick.val('true')");
        var mode = $.hash.getValue("m");
        var urlInsert = '@Url.Action("Display")';
        $.getJSON(urlInsert, function () {
        });
        document.getElementById("SequentialId").value = '@Url.Action("Display")';
    }
</script>

コントローラー アクションから返される文字列 str をビューのテキスト ボックス 'SequentialID' にバインドしたいと考えています。

これが私のコードです:

function btnNextAvailable_OnClick() {
        $("#nextAvailableButtonClick.val('true')");
        var mode = $.hash.getValue("m");
        var urlInsert = '@Url.Action("Display")';
        $.get(urlInsert, function () {
        })
       $.ajax({
            type: "POST",
            url: '/CompanyController/Display',
            async: false,
            data: {},
            dataType: "json",
            success: (function (data) {
                $('#SequentialId').value(data);
            }),
             error: (function () {
                alert("error");
            })
        });
    }
4

2 に答える 2

1

これを試して、

function btnNextAvailable_OnClick() {
    $("#nextAvailableButtonClick.val('true')");
    var mode = $.hash.getValue("m");
    var urlInsert = '@Url.Action("Display")';        
   $.ajax({
        type: "GET",
        url: urlInsert,
        async: false,
        data: {},
        dataType: "json",
        success: (function (data) {
        var response = JSON.parse(data);
            $('#SequentialId').val(response.str);
        }),
         error: (function () {
            alert("error");
        })
    });
}
于 2013-06-19T11:13:21.267 に答える
1

文字列をViewBagに保存してから、テキストボックスに追加できます

コントローラー:

ViewBag.MyString = "sample text";

意見:

<input type="text" value="@ViewBag.MyString" />

Json結果の場合

$.get('/Controller/Action', function(data){
   document.getElementById("SequentialId").value = data.str;
});
于 2013-06-19T09:09:31.760 に答える