当我们在ASP.NET MVC5应用程序中选择@ Html.DropdownListfor中的值时,如何将数据填充到@ Html.Textbox中。哪个是通过使用脚本来填充文本框中的数据的更好方法,还是有其他方法可以做,如果可能的话给我一个例子。
答案 0 :(得分:0)
我就是这样做的。使用JavaScript。您应该创建一个脚本,其中所有ajax调用都来自单个入口点。它更易于重用,维护和调试。请记住,此代码只是一个大纲,您将不得不清理它。不要按照建议点击服务器,并在每次下拉列表值更改时更新视图模型。这太荒谬了。我会全力解决这种情况。只需从XMLHttpRequest
中提取视图模型,并在每次下拉列表更改时过滤当前数据。
步骤1:向控制器请求视图模型
//quick example
var xhr = new XMLHttpRequest();
xhr.open('GET', 'Controller/Methodname');
xhr.send(null);
第2步:获取ViewModel并将其存储在对象或变量中,或者将其存储在您想要的内容中
//handle the call
xhr.onreadystatechange = function () {
var DONE = 4; // readyState 4 means the request is done.
var OK = 200; // status 200 is a successful return.
if (xhr.readyState === DONE) {
if (xhr.status === OK)
...xhr.responseText // 'This is the returned text. so store it somewhere'
} else {
console.log('Error: ' + xhr.status); // An error occurred during the request.
}
}
};
第3步:为下拉列表添加onChange事件。
onDropdownChange() {
// based on what is selected, filter you data and populate the textbox
document.getElementById("YourTextboxID").value = your value;
}
答案 1 :(得分:-1)
尝试类似这样的事情。
function ondropdownchange(){
$.get("yourmethodurl", function(data, status){
$('#yourtextbox').val(data);
});
}