Javascript 从@Html.DropdownListfor中选择值时如何填充@Html.Textboxfor

Javascript 从@Html.DropdownListfor中选择值时如何填充@Html.Textboxfor,javascript,html,ajax,asp.net-mvc-5,Javascript,Html,Ajax,Asp.net Mvc 5,在ASP.NET MVC5应用程序中选择@Html.DropdownListfor中的值时,如何将数据填充到@Html.Textboxfor中。使用脚本或其他方法填充文本框中的数据,哪种方法更好?如果可以,请给我一个例子。我就是这样做的。使用JavaScript。您应该创建一个脚本,其中所有ajax调用都来自一个入口点。它更易于重用、维护和调试。请记住,这段代码只是一个大纲,您必须将其清理干净。不要按建议点击服务器,并在每次下拉列表值更改时更新视图模型。这太荒谬了。我会告诉你我对这种情况的全部看

在ASP.NET MVC5应用程序中选择@Html.DropdownListfor中的值时,如何将数据填充到@Html.Textboxfor中。使用脚本或其他方法填充文本框中的数据,哪种方法更好?如果可以,请给我一个例子。

我就是这样做的。使用JavaScript。您应该创建一个脚本,其中所有ajax调用都来自一个入口点。它更易于重用、维护和调试。请记住,这段代码只是一个大纲,您必须将其清理干净。不要按建议点击服务器,并在每次下拉列表值更改时更新视图模型。这太荒谬了。我会告诉你我对这种情况的全部看法。只要从一个
XMLHttpRequest
视图模型中拉入您喜欢的视图模型,并在每次下拉列表更改时过滤您拥有的当前数据

步骤1:向控制器请求视图模型

//quick example
var xhr = new XMLHttpRequest();
xhr.open('GET', 'Controller/Methodname');
xhr.send(null);
步骤2:获取ViewModel并将其存储在所需的对象、变量或w/e中

    //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;      
    }

试试这样的

function ondropdownchange(){
    $.get("yourmethodurl", function(data, status){
         $('#yourtextbox').val(data);
    });
}

@user3608792你想让他在每次有人更改下拉列表值时点击服务器吗?当我们在下拉列表中选择值时,我有权通过DB将值输入文本框。我可以编写javascript(与上面的示例不同)并在MVC5中执行它吗。如果可能的话,建议我solution@addadaSatish在MVC5中执行它是什么意思?MVC是一种设计模式。请解释一下你的意思。对不起,我想我错把它删除了。你根本没有回答他的问题`用脚本或其他方法在文本框中填充数据,哪种方法更好?如果可以,请给我一个例子`