Einen Ausdruck-Baum enthalten möglicherweise keine dynamischen Betrieb, aber es ist mir nicht sagen, wo

Ich habe ein Problem, wo bekomme ich die Nachricht:

\OrderGas.cshtml(24): error CS1963: Ein Ausdruck Baum nicht enthalten
ein dynamischer Betrieb"}

Hier ist mein code für meine web-Formular:

@using SuburbanCustPortal.MiscClasses

@{
    ViewBag.Title = "Order Gas";
}

<h2>Order Gas</h2>

        @using (Html.BeginForm("OrderGasSuccess", "GasOrder", FormMethod.Post))
        {
          @Html.ValidationSummary(true, "Submit was unsuccessful. Please correct the errors and try again.")

          <div>
            <fieldset>
              <legend>Account Information - all fields required</legend>

              <div class="highlightedtext">
                @ViewBag.Account
              </div>

              @if (SessionHelper.ShowPaymentOptions)
              {
                <div class="editor-label">
                  @Html.LabelFor(m => m.PaymentMethod)
                </div>
                <div class="editor-field">
                  @Html.DropDownListFor(x => x.PaymentMethod, SessionHelper.PaymentMethods)
                </div>
              }

              <div class="editor-label">
                @Html.LabelFor(m => m.TankPercent)
              </div>
              <div class="editor-field">
                @Html.TextBoxFor(m => m.TankPercent, new { @class = "GenericSmallTextBox" })
                <label class="SmallBluelabel">Please enter the current percentage in your tank.</label>
                @Html.ValidationMessageFor(m => m.TankPercent)
              </div>             

              <br/>

              <div class="editor-field">
                @Html.CheckBoxFor(x => x.IsFill)
                @Html.LabelFor(m => m.IsFill)
                <label class="SmallBluelabel">Would you like us to fill your tank?</label>
                @Html.ValidationMessageFor(m => m.IsFill)
              </div>

              <div class="editor-label">
                <b> - OR - </b>
              </div>

              @if (!string.IsNullOrWhiteSpace(ViewBag.AlternateGasMessage))
              {
                <fieldset class="pleasenote">
                  <legend>@ViewBag.AlternateGasMessageHeader</legend>
                  <label class="warningLabel">@ViewBag.AlternateGasMessage</label>                  
                </fieldset>
              }

              <div class="editor-label">
                @Html.LabelFor(m => m.Amount)
              </div>

              <div class="editor-field">
                @Html.TextBoxFor(m => m.Amount, new { @class = "GenericSmallTextBox" })
                <label class="SmallBluelabel">Or request a specific amount in the tank?</label>


                @if (ViewBag.MinimumGasMessage != null)
                {
                  <div>
                    <label class="SmallBluelabel">@ViewBag.MinimumGasMessage</label>
                  </div>
                }

                @Html.ValidationMessageFor(m => m.Amount)
              </div>             

              <div class="editor-label">
                @Html.LabelFor(m => m.ContactNumber)
              </div>
              <div class="editor-field">
                @Html.TextBoxFor(m => m.ContactNumber, new { @class = "GenericTextBox" })
                @Html.ValidationMessageFor(m => m.ContactNumber)                   
              </div>

              <div class="editor-label">
                @Html.LabelFor(m => m.Message)
              </div>
              <div class="editor-field">
                @Html.EditorFor(x => x.Message)            
              </div>

              <div>
                <input type="submit" value="Submit" class="typicalbutton"/>
              </div>

            </fieldset>

          </div>
        }

Hier ist die Klasse mit dem Aufruf der web-Formular:

public ActionResult OrderGas()
{
  var control = Logging.StartLog();

  try
  {
    Logging.WriteLog("Starting OrderGas");

    var svc = new SubService();
    var orderGasModel = new OrderGasModel();

    orderGasModel.ContactNumber = svc.GetCustomerPhoneNumber(SessionHelper.TokenId, SessionHelper.CurrentAccountGuid);
    Logging.WriteLog(string.Format("orderGasModel.ContactNumber: {0}", orderGasModel.ContactNumber));

    if (SessionHelper.ShowPaymentOptions)
    {
      SessionHelper.PaymentMethods = GetPaymentMethods2();
    }
    if (SessionHelper.MinimumGasOrderAmount > 0)
    {
      var msg = string.Format("Minimum gas order is {0} gallons.", SessionHelper.MinimumGasOrderAmount);
      Logging.WriteLog(msg);
      ViewBag.MinimumGasMessage = msg;
    }

    var gasordermsg = svc.GetAlternateGasOrderMessage(SessionHelper.TokenId);
    ViewBag.AlternateGasMessageHeader = gasordermsg.Item1;
    ViewBag.AlternateGasMessage = gasordermsg.Item2;
    ViewBag.Account = string.Format("{0}-{1}", SessionHelper.CurrentBranchNumber.ToBranchString(),
      SessionHelper.CurrentAccountNumber.ToAccountString());

    return View(orderGasModel);
  }
  catch (Exception ex)
  {
    Logging.WriteException(ex);
    Logging.WriteLog(ex.Message);
    return View("Error");
  }
  finally
  {
    Logging.WriteLog(control, "End OrderGas");
  }
}

Habe ich diese im Vergleich zu meiner Geschichte, um zu sehen, was ich geändert habe, und ich sehe nicht ein, warum es nicht mehr funktioniert. Wenn ich ein debug auf meine PaymentMethods, es gibt eine Ausnahme, bevor er dort ankommt.

Ich habe versucht auskommentieren Teile des cshmtl und ich kann nicht bekommen eine klare Antwort auf die Frage, welcher Teil es ist, der den Fehler verursacht.

Ich bin ratlos... jemand sehen, was ich falsch mache?

Wenn ich richtig zählen, es beschwert sich über die PaymentMethod Mitglied der model-Klasse. Gibt es etwas bestimmtes, über? Ich glaube nicht, sehen Sie in der Aktions-code.
Wieso der downvote?
Können Sie mir sagen, wie Sie kam mit, dass? Ich nicht Folgen, was meinst du zählen?
Ich schon beantwortet, aber zu erklären, ein bisschen mehr über den Kommentar von @WiktorZychla, der Fehler anzeigt \OrderGas.cshtml(24):, das entspricht der 24. Zeile von oben der jeweiligen Datei. Das geschah auf eine ziemlich normal aussehende lambda, aber haben es deutlich gemacht zu suchen, ein Grund, der die lambda wäre nicht verarbeitet werden.
ah ich wusste nicht das 24 bedeutete der 24. Zeile! Das ist gut zu wissen!! Helfen, wird out stark in die Zukunft finden, meine Probleme. Ich denke, es macht nur Sinn, jetzt, dass ich weiß, dass... Tyvm!

InformationsquelleAutor ErocM | 2015-02-12

Schreibe einen Kommentar