C# 表格收集问题
我在mvc中有一个html begin表单C# 表格收集问题,c#,asp.net-mvc,asp.net-mvc-4,C#,Asp.net Mvc,Asp.net Mvc 4,我在mvc中有一个html begin表单 @using (Html.BeginForm("Search", "Reports",FormMethod.Post, new { enctype = "multipart/form-data", @class = "form-inline" })) { <div class="form-group"> <input type="text" class="form-control input-sm" plac
@using (Html.BeginForm("Search", "Reports",FormMethod.Post, new { enctype = "multipart/form-data", @class = "form-inline" }))
{
<div class="form-group">
<input type="text" class="form-control input-sm" placeholder="Value" name="SearchValue">
<input type="text" class="form-control input-sm second-value" placeholder="Value" style="display:none;" name="SearchValue1">
<button type="button" class="btn btn-default btn-Add">+</button>
</div>
<div id="othersearch"></div>
<input type="submit" value="Search" class="btn btn-primary" />
}
我的问题是,有时第二个文本框不可见。。那一次我不想收集值。当我按下add按钮时,会在表单中以相同的名称生成相同类型的输入字段(我可以添加许多输入框)。那么我如何在我的控制器中收集这些信息呢。请帮助我。在您的案例中,所有文本框的名称都可以是“SeachValue”
string searchvalue=collection.Get(“searchvalue”)代码>
这会将所有文本框值作为逗号字符串返回,您可以拆分并进一步使用该字符串
查看屏幕截图
html
结果如何
在您的案例中,所有文本框的名称都可以是“SeachValue”
string searchvalue=collection.Get(“searchvalue”)代码>
这会将所有文本框值作为逗号字符串返回,您可以拆分并进一步使用该字符串
查看屏幕截图
html
结果如何
您可以使用以下代码获取具有相同名称的所有文本框的值:
var results = ((String[])formcollection.GetValue("mytxt").RawValue).ToList();
foreach (var item in results)
{
//string name = item;
}
您可以使用以下代码获取具有相同名称的所有文本框的值:
var results = ((String[])formcollection.GetValue("mytxt").RawValue).ToList();
foreach (var item in results)
{
//string name = item;
}
当您动态添加元素时,请确保也将其设置为名称。因此,当您添加一个新的输入元素时,它必须是
<input type="text" name="NewTextBox" class="form-control input-sm" placeholder="Value" name="searchvalue">
或
您可以使用Request.form[“NewTextBox”]
as检索它们
[HTTPPOST]
public ActionResult Search(MyModel newModel)
{
var values = Request.Form[NewTextBox];
}
但是我建议您使用第一种方法,即使用MVC模型绑定器来处理所有事情。您只需要使用一组值即可
注意:在玩MVC时,一定要确保你的名字是正确的,并且使用正确的名字。因为所有绑定都取决于命名本身。当您动态添加元素时,请确保也将其设置为名称。因此,当您添加一个新的输入元素时,它必须是
<input type="text" name="NewTextBox" class="form-control input-sm" placeholder="Value" name="searchvalue">
或
您可以使用Request.form[“NewTextBox”]
as检索它们
[HTTPPOST]
public ActionResult Search(MyModel newModel)
{
var values = Request.Form[NewTextBox];
}
但是我建议您使用第一种方法,即使用MVC模型绑定器来处理所有事情。您只需要使用一组值即可
注意:在玩MVC时,一定要确保你的名字是正确的,并且使用正确的名字。由于所有绑定都取决于命名本身。如果是同一行,则在再次按下按钮+生成总计后,我必须收集4个文本框值,无论有多少文本框,如果它们保存了“名称”,它们将在保存表单集合键下发布到操作。如果是同一行,再次按下按钮+生成总计后,我必须收集4个文本框值,无论文本框有多少,如果它们有保存“名称”,它们将在保存表单收集键下发布到操作。