视图状态中不显示任何值

时间:2011-01-16 18:04:46

标签: asp.net-mvc asp.net-mvc-2

问题:
我有问题找到一个解决方案,如果value为0或null

,txtboxMaxprice的值将不会显示

请求:
如果输入文本框中的值为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);
        }

1 个答案:

答案 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属性。