C# 将值从部分传递到控制器
我有一个页面有一个局部视图区域,如下所示: 局部视图通过选项卡菜单根据用户所在的区域而变化。对于选定的每个选项卡,局部视图都会更改。显示的每个局部视图都有要编辑的字段。按钮C# 将值从部分传递到控制器,c#,asp.net-mvc,C#,Asp.net Mvc,我有一个页面有一个局部视图区域,如下所示: 局部视图通过选项卡菜单根据用户所在的区域而变化。对于选定的每个选项卡,局部视图都会更改。显示的每个局部视图都有要编辑的字段。按钮保存和取消始终相同,包含在周围视图中 当用户按下Save时,我想捕捉插入的值,这是我在其他视图中通过以下方式实现的: HTML <input type="text" name="phoneNumber"> 但在这里,当调试器点击上面的C#行时,我总是得到一个null异常 如何将输入中包含的值从局部视图传递到控制
保存
和取消
始终相同,包含在周围视图中
当用户按下Save
时,我想捕捉插入的值,这是我在其他视图中通过以下方式实现的:
HTML
<input type="text" name="phoneNumber">
但在这里,当调试器点击上面的C#行时,我总是得到一个null异常
如何将输入中包含的值从局部视图传递到控制器
编辑
这是我的代码:视图中的输入(按钮)
同样,我已经在我的登录表单中尝试过了,效果很好:
<form method="get" action="../Main/Index">
<p>
<input type="text" name="username" maxlength="30"></p>
<p>
<input type="password" name="password" maxlength="25"></p>
<p class="submit">
<input type="submit" name="commit" value="Login"></p>
</form>
您可以为每个部分创建一个视图模型,然后创建一个包含所有部分的视图模型,在这种情况下,您将在提交接收父视图模型的表单时收到所有选项卡的信息。
比如:
public class ParentViewModel{
public int Id { get; set; }
public Option1ViewModel Option1 { get; set; }
public Option2ViewModel Option2 { get; set; }
public Option3ViewModel Option3 { get; set; }
public Option4ViewModel Option4 { get; set; }
}
您可以为每个部分创建一个视图模型,然后创建一个包含所有部分的视图模型,在这种情况下,您将在提交接收父视图模型的表单时收到所有选项卡的信息。
比如:
public class ParentViewModel{
public int Id { get; set; }
public Option1ViewModel Option1 { get; set; }
public Option2ViewModel Option2 { get; set; }
public Option3ViewModel Option3 { get; set; }
public Option4ViewModel Option4 { get; set; }
}
您可以为每个部分创建一个视图模型,然后创建一个包含所有部分的视图模型,在这种情况下,您将在提交接收父视图模型的表单时收到所有选项卡的信息。
比如:
public class ParentViewModel{
public int Id { get; set; }
public Option1ViewModel Option1 { get; set; }
public Option2ViewModel Option2 { get; set; }
public Option3ViewModel Option3 { get; set; }
public Option4ViewModel Option4 { get; set; }
}
您可以为每个部分创建一个视图模型,然后创建一个包含所有部分的视图模型,在这种情况下,您将在提交接收父视图模型的表单时收到所有选项卡的信息。
比如:
public class ParentViewModel{
public int Id { get; set; }
public Option1ViewModel Option1 { get; set; }
public Option2ViewModel Option2 { get; set; }
public Option3ViewModel Option3 { get; set; }
public Option4ViewModel Option4 { get; set; }
}
您实际上没有在提交中发布任何值。看看这段代码在做什么:
onclick="location.href='@Url.Action("SaveChanges", "Config")'"
单击按钮时,您只需告诉浏览器转到SaveChanges
操作的URL即可。这是调用GET
请求并放弃客户端输入的任何表单数据
您应该发布一个表单。通常,这需要将元素和submit按钮包装在表单
标记中(@Html.BeginForm
助手方法可以提供帮助),以便客户端看起来像:
<form method="POST" action="/some/url">
<input type="text" name="phoneNumber" />
<!-- other HTML elements -->
<input type="submit" />
</form>
如果希望每个局部视图都是它自己的单独表单,那么将Html.BeginForm
调用放在该局部视图中。但是,使用单个全局提交按钮可能会有点棘手。通常,在具有多个表单的设置中,每个表单都有自己的按钮。您可以使用JavaScript技巧在选项卡更改时显示/隐藏不同的提交按钮,具体取决于您用于管理选项卡的内容。您实际上并没有在提交中发布任何值。看看这段代码在做什么:
onclick="location.href='@Url.Action("SaveChanges", "Config")'"
单击按钮时,您只需告诉浏览器转到SaveChanges
操作的URL即可。这是调用GET
请求并放弃客户端输入的任何表单数据
您应该发布一个表单。通常,这需要将元素和submit按钮包装在表单
标记中(@Html.BeginForm
助手方法可以提供帮助),以便客户端看起来像:
<form method="POST" action="/some/url">
<input type="text" name="phoneNumber" />
<!-- other HTML elements -->
<input type="submit" />
</form>
如果希望每个局部视图都是它自己的单独表单,那么将Html.BeginForm
调用放在该局部视图中。但是,使用单个全局提交按钮可能会有点棘手。通常,在具有多个表单的设置中,每个表单都有自己的按钮。您可以使用JavaScript技巧在选项卡更改时显示/隐藏不同的提交按钮,具体取决于您用于管理选项卡的内容。您实际上并没有在提交中发布任何值。看看这段代码在做什么:
onclick="location.href='@Url.Action("SaveChanges", "Config")'"
单击按钮时,您只需告诉浏览器转到SaveChanges
操作的URL即可。这是调用GET
请求并放弃客户端输入的任何表单数据
您应该发布一个表单。通常,这需要将元素和submit按钮包装在表单
标记中(@Html.BeginForm
助手方法可以提供帮助),以便客户端看起来像:
<form method="POST" action="/some/url">
<input type="text" name="phoneNumber" />
<!-- other HTML elements -->
<input type="submit" />
</form>
如果希望每个局部视图都是它自己的单独表单,那么将Html.BeginForm
调用放在该局部视图中。但是,使用单个全局提交按钮可能会有点棘手。通常,在具有多个表单的设置中,每个表单都有自己的按钮。您可以使用JavaScript技巧在选项卡更改时显示/隐藏不同的提交按钮,具体取决于您用于管理选项卡的内容。您实际上并没有在提交中发布任何值。看看这段代码在做什么:
onclick="location.href='@Url.Action("SaveChanges", "Config")'"
单击按钮时,您只需告诉浏览器转到SaveChanges
操作的URL即可。这是调用GET
请求并放弃客户端输入的任何表单数据
您应该发布一个表单。通常,这需要将元素和submit按钮包装在表单
标记中(@Html.BeginForm
助手方法可以提供帮助),以便客户端看起来像:
<form method="POST" action="/some/url">
<input type="text" name="phoneNumber" />
<!-- other HTML elements -->
<input type="submit" />
</form>
如果希望每个局部视图都是它自己的单独表单,那么将Html.BeginForm
调用放在该局部视图中。但是,使用单个全局提交按钮可能会有点棘手。通常,在具有多个表单的设置中,每个表单都有自己的按钮。您可以使用JavaScript技巧在选项卡更改时显示/隐藏不同的提交按钮,具体取决于您用于管理选项卡的内容。目前还不清楚问题出在哪里。