问题:
我有问题找到一个解决方案,如果value为0或null
请求:
如果输入文本框中的值为0或null,我不希望txtboxMaxprice值以视图状态显示。
此源代码以简化版本制作,以便最终用户更容易理解。
// Fullmetalboy
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<BokButik1.ViewModels.SokningppPerform2ViewModel>" %>
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
PerformSearch
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<h2>SökResultat</h2>
<% using (Html.BeginForm("Alternativ1", "Sokning", FormMethod.Post))
{ %>
<table>
<tr>
<td>Maxprice</td>
<td><input type="text" id="txtboxMaxprice" name="txtboxMaxprice" value="<%: Model.Maxprice %>" /></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td><input type="submit" value="Filtrera" /></td>
</tr>
</table>
<% } %>
//
// Post: /Sokning/Alternativ1
[HttpPost]
public ActionResult Alternativ1(decimal? txtBoxMaxprice)
{
var SokningppPerform2ViewModel = new SokningppPerform2ViewModel()
{
Maxprice = txtBoxMaxprice)
};
return View("PerformSearch", SokningppPerform2ViewModel);
}
答案 0 :(得分:1)
如果写入文本框的值为null
,则不会显示任何数字。
这应该适合你:
int? textBoxMaxValue = (Model.MaxPrice > 0) Model.MaxPrice : null;
<tr>
<td>Maxprice</td>
<td><input type="text" id="txtboxMaxprice" name="txtboxMaxprice"
value="<%: textBoxMaxValue %>" /></td>
<td></td>
</tr>
您可以在此示例中看到,如果textBoxMaxValue
的值为null
,则不会将任何内容写入文本框的value
属性。