2011-01-16 8 views
0

Problem:
I Problem habe, eine Lösung, die den Wert von txtboxMaxprice finden wird nicht angezeigt, wenn der Wert 0 oder nullKeine Wertanzeige im Ansichtszustand

Anfrage:
Ich will nicht den txtboxMaxprice Wert Anzeige im Ansichtszustand, wenn der Wert 0 oder Null im Eingabetextfeld ist.

Dieser Quellcode wurde in einer vereinfachten Version erstellt, um den Endbenutzer verständlicher zu machen.

// 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); 
     } 

Antwort

1

Wenn der Wert in das Textfeld geschrieben ist null dann wird es keine Nummer angezeigt werden soll.

Dies sollte für Sie arbeiten:

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> 

Sie in diesem Beispiel sehen, dass, wenn der Wert von textBoxMaxValue ist null dann nichts in das Attribut value der Textbox geschrieben.

+0

Vielen Dank für Ihre Hilfe. Wenn Sie noch an der Lösung eines anderen Problems in MVC 2 interessiert sind, habe ich ein Problem, dass noch niemand es gelöst hat. http://stackoverflow.com/questions/4666775/what-code-in-inherit-part –

+0

Ich habe versucht Ihren Rat und leider habe ich eine Fehlermeldung erhalten. –

+0

Mein Fehler ... Der Typ muss explizit sein, es funktioniert nicht mit dem Implivit 'var'. Ich habe meine Antwort aktualisiert, um dies zu berücksichtigen. –