保持数据来自(多个)文本框

时间:2013-07-19 01:32:11

标签: asp.net-mvc asp.net-mvc-4

我是.Net MVC4的新手,我有一些问题......

示例:在视图中我有2个文本框

<input type="text" name="tax1" style="width:20px" maxlength="1" /> 
<input type="text" name="tax2" style="width:60px" maxlength="4" />

按下提交按钮后,我想保留文本框中的两个数据。

Ex : string value = textbox1 + textbox2

我可以按照此示例(在视图中)执行我的要求。

如果确定:请告诉我解决方案。

如果不行:请告诉我解决方案和要解决的文件(ex.controller等)。

2 个答案:

答案 0 :(得分:0)

您的视图中有与以下内容类似的表单:

@using(Html.BeginForm())
{
    <input type="text" name="tax1" style="width:20px" maxlength="1" /> 
    <input type="text" name="tax2" style="width:60px" maxlength="4" />
    <input type="submit" value="Submit" />
}

在您的控制器中:

public ActionResult SomeAction(string tax1, string tax2)
{
    string newString = tax1 + tax2;
}

答案 1 :(得分:0)

有几种方法可以做到这一点。一种方式是mostruash。我通常将我的视图绑定到view model。我从不以任何其他方式做到这一点。我从不使用属性或域模型,只使用视图模型。我会告诉你如何。

您的视图模型可能如下所示:

public class SomeViewModel
{
     public string Tax1 { get; set; }

     public string Tax2 { get; set; }
}

然后在您的操作方法中,您需要将其传递给您的视图:

public ActionResult SomeAction()
{
     SomeViewModel viewModel = new SomeViewModel();

     return View(viewModel);
}

在您的帖子操作方法中,您需要将此视图模型作为输入参数接收:

[HttpPost]
public ActionResult SomeAction(SomeViewModel viewModel)
{
     // Check for null viewModel

     if (!ModelState.IsValid)
     {
          return View(viewModel);
     }

     // Do what ever else you need to do
}

然后在你的观点上:

@model SomeProject.ViewModels.Servers.SomeViewModel

@Html.TextBoxFor(x => x.Tax1)
@Html.TextBoxFor(x => x.Tax2)

我希望这会有所帮助。