【问题标题】:How can i set the value of my textbox using radio button?如何使用单选按钮设置文本框的值?
【发布时间】:2017-04-06 17:26:10
【问题描述】:

这是我的控制器视图

public ActionResult rb()
    {
        subject ts = new subject();
        ts.subjectlist = db.tbSubjs.ToList();
        ts.selectsubj = "";
        return View(ts);
    }
    [HttpPost]
    public ActionResult rb(subject sj, FormCollection frm)
    {
        if (ModelState.IsValid)
        {
            var selectsubj = sj.selectsubj;
            string getcode = frm["subj"];
            ViewBag.ssss = getcode;
        }
        return View("Index");
    }

这是我的课

public class subject
{
    public List<tbSubj> subjectlist { get; set; }
    public string selectsubj { get; set; }
}

这是我的单选按钮代码

<div style="text-align: left">
@using (Html.BeginForm("rb", "Home"))
{ 
<div>------</div>
foreach (var ts in Model.subjectlist)
{ 
<div>
    @Html.Label(ts.SubjCode)
    @Html.RadioButtonFor(m => m.subjectlist, ts.SubjCode)
</div>
}

foreach (var getsubj in Model.subjectlist)
{ 
    <div>------------------</div>
<div>
    @getsubj.SubjCode
    @Html.RadioButton("subj", getsubj.SubjCode)
</div>
}
<br />
<input id="Submit" type="submit" value="Submit" />
}
</div>

我想通过获取单选按钮的值在此视图中的文本框中设置一个值。

@model ATM.Models.subject

@{
ViewBag.Title = "rb";
}

<h2>rb</h2>

@Html.TextBox(m => m.selectsubj)

如果有人愿意帮助我,请帮助我。

【问题讨论】:

  • 为了清楚起见,您是否要从一个视图(带有表单)转到另一个视图(带有文本框)?还是这一切都在同一个观点上?
  • 我要去另一种观点,先生
  • 好的,那么您的意思是使用ViewBag.ssss 在视图之间传递所述值吗?如果您不认同这个想法,您可以简单地通过第二个视图所基于的ATM.Models.subject 模型将其传递。无论哪种方式,如果这是您想要做的,我可以添加一个适当的答案,请告诉我。
  • 你能用你的方式告诉我答案吗?

标签: c# asp.net-mvc asp.net-mvc-4 razor visual-studio-2012


【解决方案1】:

假设您的操作实际上更像以下内容:

[HttpPost]
public ActionResult rb(subject sj, FormCollection frm)
{
    if (ModelState.IsValid)
    {
        var selectsubj = sj.selectsubj;
        string getcode = frm["subj"];
        ViewBag.ssss = getcode;

        return View("view_with_textbox");
    }

    return View("Index");
}

你可以这样做:

[HttpPost]
public ActionResult rb(subject sj, FormCollection frm)
{
    if (ModelState.IsValid)
    {
        var selectsubj = sj.selectsubj;
        string getcode = frm["subj"];

        var model = new ATM.Models.subject()
        {
            selectsubj = getcode
        };

        return View("view_with_textbox", model);
    }

    return View("Index");
}

从而通过模型传入值。

【讨论】:

  • 先生还有一个问题。我怎样才能把它放在我的文本框中?对不起,我对 mvc 不熟悉
  • 我猜你还没有尝试过,但是通过传入一个带有该值的模型,然后在顶部使用 @model 声明该模型的视图上使用它,它将值自动公开给使用该模型属性的任何输入,例如 @Html.EditorFor(m =&gt; m.selectsubj)
猜你喜欢
  • 2013-08-26
  • 2013-02-24
  • 2020-03-31
  • 1970-01-01
  • 2013-10-18
  • 1970-01-01
  • 2013-07-24
  • 1970-01-01
  • 2018-01-09
相关资源
最近更新 更多