C# 如何将json返回值分配到文本框中?
我的视图中有一个测试(诊断)的下拉列表,从该列表中选择任何测试都会将相应的费用加载到只读文本框中。 以下是我的看法:C# 如何将json返回值分配到文本框中?,c#,asp.net,json,C#,Asp.net,Json,我的视图中有一个测试(诊断)的下拉列表,从该列表中选择任何测试都会将相应的费用加载到只读文本框中。 以下是我的看法: <select name="TestId" id="TestId" style="width: 171px;"> <option value="">Select...</option> @foreach (var tests in ViewBag.allTests)
<select name="TestId" id="TestId" style="width: 171px;">
<option value="">Select...</option>
@foreach (var tests in ViewBag.allTests)
{
<option value="@tests.TestId">@tests.TestName</option>
}
</select>
<input type="text" id="TestFee" name="TestFee" readonly="readonly" />
<script>
$(document).ready(function() {
$("#TestId").change(function() {
var testid = $("#TestId").val();
//$("#fees").empty();
var json = { testId: testid };
$.ajax({
type: "POST",
url: '@Url.Action("GetFeesById", "TestRequest")',
contentType: "application/json; charset=utf-8",
data: JSON.stringify(json),
success: function(data) {
$("#TestFee").val(data.Fee);
}
});
});
});
我在JsonResult上使用了调试器,它返回下拉项更改时的相应数据。但是,我的文本框并没有收到控制器返回的费用。
这个代码有什么错误吗?如何在文本框上赋值?
注意:我以前从未使用过Json,我只是在一些博客和教程的帮助下尝试。如果有更好的方法,请也提出建议。
谢谢在ajax调用中提到
数据类型:“json”
不起作用#我想请您在答案周围添加一些上下文。只有代码的答案很难理解。如果你能在你的文章中添加更多的信息,这将有助于询问者和未来的读者。
public class TestRequestController : Controller
{
SaveTestManager manager=new SaveTestManager();
public ActionResult SaveTestRequest()
{
ViewBag.allTests = manager.AllTestViews();
return View();
}
[HttpPost]
public JsonResult GetFeesById(int testId)
{
var testlist = manager.AllTestViews().Where(m => testId==m.TestId);
return Json(testlist, JsonRequestBehavior.AllowGet);
}
}
Try this
$("#TestFee").val(data.data[0].Fee);