【发布时间】:2013-04-29 10:36:04
【问题描述】:
我是 ASP.net MVC 的新手,我使用 DevExpress-MVC 扩展来构建一个使用 DataGrid 的小型应用程序,即员工时间登记。
我的问题如下:
用户可以输入他的姓名缩写,将其提交给控制器应该调用我的数据库的查询并显示他的响应员工 ID。
我让我的 DataViewModel 将我的模型传递给视图,现在我认为将它绑定到文本框并从 ViewModel 检索数据会这样做,但事实并非如此。
我的代码如下所示:
ViewModel
public class MyErfassungViewModel
{
public MyErfassung erfassung;
public String personalnummer;
public String personalkuerzel;
public List<String> dim1;
public List<String> dim2;
public List<String> dim3;
public List<String> dim4;
public List<String> dim5;
public MyErfassungViewModel(MyErfassung myerfassung)
{
this.erfassung = myerfassung;
}
}
查看
@model DevExpressMvcApplication.Models.ViewModel.MyErfassungViewModel
<div class ="Personalnummer">
@using (Html.BeginForm("getNummer","MyErfassung"))
{
<label>Personalkürzel</label>
@Html.DevExpress().TextBox(settings =>
{
settings.Name = "TextBoxPersonalkürzel";
}).Bind(Model.personalkuerzel).GetHtml()
<label>Personalnummer</label>
@Html.DevExpress().TextBox(settings =>
{
settings.Name = "TextBoxPersonalnummer";
settings.ReadOnly = true;
}).Bind(Model.personalnummer).GetHtml()
@Html.DevExpress().Button(settings =>
{
settings.Name = "TextBoxKuerzel";
settings.Text = "Holen";
settings.UseSubmitBehavior = true;
}).GetHtml()
<br>
}
</div>
控制器
//
// GET: /MyErfassung/
public ActionResult Index()
{
viewModel.personalkuerzel = "sese";
return View(viewModel);
}
[HttpPost]
public ActionResult getNummer()
{
String kurz = Convert.ToString(Request["TextBoxKuerzel"]);
String nr = Convert.ToString(Request["TextBoxPersonalnummer"]);
String nummer = dbRepo.getPersonalnummerByKuerzel(viewModel.personalkuerzel);
viewModel.personalnummer = nummer;
return View(viewModel);
}
正如您所见,我尝试了一些可能的方法来接收用户输入并发送 DB-Request 以获取数字。 但是请求或视图模型包含的不仅仅是空引用。
但简单地说,我无法将用户输入从我的表单传回控制器。
【问题讨论】:
标签: asp.net-mvc razor devexpress