C# 是否有其他形式的控件的值?

C# 是否有其他形式的控件的值?,c#,asp.net-mvc,C#,Asp.net Mvc,还有什么可以让人产生想象力的吗?像这样: @using (Html.BeginForm("action1", "controller1")) { @Html.TextBoxFor(m => m.MyTextBox) } @using (Html.BeginForm("action2", "controller1")) { <input type="submit" value="Click me" /> } 和行动2: public ActionResult Ac

还有什么可以让人产生想象力的吗?像这样:

@using (Html.BeginForm("action1", "controller1"))
{
   @Html.TextBoxFor(m => m.MyTextBox)
}

@using (Html.BeginForm("action2", "controller1"))
{
   <input type="submit" value="Click me" />
}
和行动2:

public ActionResult Action2(MyModel m)
{
   ViewBag.Value = m.MyTextBox;
   return View();
}

我可以这样做吗?

在用户执行无更新服务器或视图端时,需要使用客户端脚本将字段绑定在一起。这个示例使用JQuery,但是您可以选择任何您喜欢的风格

@using (Html.BeginForm("action1", "controller1"))
{
    @Html.TextBoxFor(m => m.MyTextBox, new { data_sync_target = ".MyTextBox-dest" })
}

@using (Html.BeginForm("action2", "controller1"))
{
    @Html.HiddenFor(m => m.MyTextBox, new { @class = "MyTextBox-dest" })
    <input type="submit" value="Click me" />
}

<script language="javascript">
    $(document).ready(function() {
        $('input[data-sync-target]').keyup(function() {
            var $target = $($(this).data('sync-target'));
            $target.val($(this).val());
        });
    });
</script>
@使用(Html.BeginForm(“action1”、“controller1”))
{
@Html.TextBoxFor(m=>m.MyTextBox,新的{data\u sync\u target=“.MyTextBox dest”})
}
@使用(Html.BeginForm(“action2”、“controller1”))
{
@Html.HiddenFor(m=>m.MyTextBox,new{@class=“MyTextBox dest”})
}
$(文档).ready(函数(){
$(“输入[数据同步目标]).keyup(函数(){
var$target=$($(this.data('sync-target'));
$target.val($(this.val());
});
});

你的目的是什么,或者你想实现什么?简短回答,不。长回答,有点,你可以使用JS在另一个表单的文本框中键入任何值来填充另一个表单中的隐藏字段。正如@James所说,在两个表单之间共享的唯一方法是通过客户端脚本同步到一个隐藏字段。另一个选项是让相同的表单指向相同的操作,但使用2个提交按钮,并将提交定义为
,以在操作中捕获单击的提交按钮。
@using (Html.BeginForm("action1", "controller1"))
{
    @Html.TextBoxFor(m => m.MyTextBox, new { data_sync_target = ".MyTextBox-dest" })
}

@using (Html.BeginForm("action2", "controller1"))
{
    @Html.HiddenFor(m => m.MyTextBox, new { @class = "MyTextBox-dest" })
    <input type="submit" value="Click me" />
}

<script language="javascript">
    $(document).ready(function() {
        $('input[data-sync-target]').keyup(function() {
            var $target = $($(this).data('sync-target'));
            $target.val($(this).val());
        });
    });
</script>