2017-10-19 73 views
0

我正在使用ASP.NET MVC 4和LINQ/SQL。我有一个HTML页面,其中我想根据模型类呈现HTML输入框。在我看来,我正在循环模型并试图为每个表格行生成一个输入框,但由于模型是空的,输入框不显示。模型是空的,因为数据库中没有数据,因为这是我想要在表单中收集的数据。当模型中有数据时,数据库中的值应显示在表单中。ASP.NET MVC - 如何在模型为空时在循环中生成空输入框?

我怎样才能渲染空的输入框,因为我的模型最初是空的。

代码如下:

@for (int i = 0; i < Model.Count; i++) 
    { 
<tr> 

    <td>       
     @Html.EditorFor(model => model[i].CustomerName, new { htmlAttributes = new { @class = "form-control" } }) 
    </td> 

</tr> 
} 
+1

这听起来好像你想有一个单独的输入框用于在循环外添加。 – JuanR

+0

我不明白你在问什么。您希望为数据库中的每个条目添加一个框,但数据库中没有条目,因此您没有任何框。看起来像预期的行为。那么你的问题是什么? – mason

+0

@mason - 我正在寻找如何构建代码来解决数据库中存在一行以及数据库中没有行的情况。我可以只是一个输入框在其他用户提到的循环之外,我想这可能是一种更优雅的方式,因为我是ASP.NET新手 – user1669296

回答

1

for循环与一些箱子,你需要,并验证当模型为空,使用for循环

@{ 
    if (Model == null) 
    { 
     int textboxnumber = 6;//change value on behind code or put a constant number 
     for(int i=0;i<textboxnumber;i++) 
     { 
     <input type="text" placeholder="textbox empty"/> 
     } 
    } 
    } 
+0

请给出解决此问题的示例代码。 –

+0

嗨@JPDolocanog你能写在查看 @ { 如果(型号== NULL){ INT = textboxnumber 6; //改变背后的代码值或把一个常数 的for(int i = 0; i } } } –