0

我在视图中有 4 个文本框,由于我的表结构,我需要将从数据库中获得的值分配到一个变量中。现在我面临着为视图中的控件分配值并使用相同的控件更新相同的数据库的问题。请帮助,

public ActionResult Index()
{
    // SettingsModel smodel = new SettingsModel();
    // tblSettings tableset = new tblSettings();

    var dat = _Settings.GetSettings().ToDictionary(s => s.Desc, s => s.Settings, StringComparer.Ordinal);
    return View();
}

//dat 我从 tablestructure 中获取所有值。我不知道如何将这些值应用到我在视图中使用模型的文本框。因为我需要使用文本框更新同一张表

表结构:ID(int)、Settings(nvarchar)、Desc(nvarchar)

在此处输入图像描述

更新:

@(Html.Kendo().TimePicker()
   .Name("startpicker")
   .Interval(60)
 //.Value("10:00 AM")
   )
@(Html.Kendo().TimePicker()
   .Name("endpicker")
   .Interval(60)
 //.Value("10:00 AM")
   )
 <td>@Html.TextBoxFor(Model => Model.DefaultState, new { @class = "k-textbox", style = "width: 118px;", id = "statetxt" }) </td>

谢谢你的回复。我得到了除 tooltipcheckbox 和 kendo timepicker 之外的所有值:

这是我在控制器中的代码:

  settingsmodel smodel=new settingsmodel();
      if (dat.ContainsKey("Tooltips"))
      smodel.tooltip =Convert.ToBoolean(dat["Tooltips"]);

//我在工具提示中得到值 0 //它抛出错误,因为字符串未被识别为有效的布尔值

设置模型:

 public bool tooltip { get; set; }
4

3 回答 3

1

您应该将模型传递到视图中。

public ActionResult Index()
{
    // SettingsModel smodel = new SettingsModel();
    // tblSettings tableset = new tblSettings();

    var dat = _Settings.GetSettings().ToDictionary(s => s.Desc, s => s.Settings, StringComparer.Ordinal);
    return View(dat); //dat is your model.
}

在视图内部,您可以从模型中获取数据。

您的模型看起来像一本字典,您的视图方面是否类似于以下内容..

@foreach (KeyValuePair<string, string> item in ((IDictionary<string, string>) Model))
{
    <input type="text">@item.Value</input>
}
于 2013-10-11T10:11:03.010 回答
1

请将您的模型传递给视图。

改变这个:

return View();

return View(dat);

希望这有效

于 2013-10-11T10:15:01.530 回答
1

您可以按如下方式实现:

  1. 传递您的模型以查看

    public ActionResult Index()
    {
        var model = //your model
        return View(models); 
    } 
    
  2. 创造Strongly type View

    @model YourModelTypeName
    
    @using (Html.BeginForm("TestHtmlRedirect", "Home", FormMethod.Post, null))
    {
        // Your Controls
        // for Eg:
        // @Html.textboxfor(m => Model.Setting); // will create text box for setting property   
    <input type="submit" value="submit" />
    }
    
  3. 在 post 操作中捕获模型,如下所示:

    [HttpPost]
    public ActionResult Index(ModelType model)
    {
        // on submitting your text box values entered by ysers will get bind in model
        // Your model will contain all values entered by user 
    } 
    
于 2013-10-11T10:20:52.477 回答