JsonResult数据返回不显示在文本框上,但显示在textarea上

时间:2011-05-06 17:21:43

标签: jquery asp.net-mvc textbox textarea jsonresult

JsonResult正在给我回复一个匿名类型。 我可以使用alert函数检查它是否正确接收客户端,但无法使用此结果填充文本框值。虽然我可以填写textarea值, 我试图解析结果(文本框绑定到我的模型视图,绑定到float和int数据类型,但我不认为它是因为这种类型)。

这是我的代码:

    $.ajax({
                type: "POST",
                url: "/MyCalledFunction/?arg1=" + $("#FK_ARG").val(),                datatype: "json",
                success: function(data) {
                    if (data) {
// my return result if an anymous type 
                        var price = data.price;
                        var NbDefaultDaysNumber = data.NbDefaultDaysNumber;
alert(price);// display the msgbox with '100'
                        $("#MY_PRICE").html(price);// textbox type value -> failed
                        $("#DEFAULT_DAYS").html(NbDefaultDaysNumber); // textbox type value -> failed
                        $("#ANOTHER_AREA").html(NbDefaultDaysNumber);// text area property value... -> works

                    }
                }
            });


        public JsonResult MyCalledFunction(string arg1)
        {
// some unintersting code...
           var myReturnJSon = new {price = 100, 
                            DEFAULT_DAYS = 10};
return Json(myReturnJSon);
        }

我确定这是一个与某些文本参数绑定的愚蠢问题。 有什么想法吗?

2 个答案:

答案 0 :(得分:2)

对于文本框(我认为你的意思是<input>type="text",你应该使用val()而不是html()

$("#DEFAULT_DAYS").val(NbDefaultDaysNumber);

答案 1 :(得分:0)

如果您在View中输入

<input type="text" value="" id="MY_PRICE" />

然后你应该使用

var price = data.price;                          
var NbDefaultDaysNumber = data.NbDefaultDaysNumber;  
alert(price);// display the msgbox with '100'                         
$("#MY_PRICE").val(); // This Display in text box

这应该可行。