【问题标题】:Caluclate the values based on option selection根据选项选择计算值
【发布时间】:2023-03-17 19:12:01
【问题描述】:

我是第一次实现剃须刀页面。我想实现一个逻辑来根据选项选择计算一个值。

cshtml

<form name="paymentform"  method="post">
    <fieldset>

<label for="package">package:</label>
        <select asp-for="package" asp-items="Model.packagelist">
            <option value="">Pick one</option>
        </select>

<label for="amt">price:</label>
  </fieldset>
</form>

cshtml.cs

{
namespace testproject
    [BindProperties]
    public class testModel : testModel
    {
   public int package  { get; set; } = 3;
        public List<SelectListItem> packagelist { get; set; }

 public void OnGet()
        {
            packagelist = new List<SelectListItem> {
        new SelectListItem { Value = "5", Text = "t1" },
        new SelectListItem { Value = "10", Text = "t2" },
        new SelectListItem { Value = "12", Text = "t3" },
    };
}
}

我想计算价格的价值 = 期权价值和变量 x=4 的总和。 请指导我执行此操作。

【问题讨论】:

    标签: javascript c# asp.net razor-pages


    【解决方案1】:

    在选择更改时添加一些简单的js函数怎么样?

    $('#package').change(function () {
            var x = 4;
            $('#amt').html("price:" + (parseInt($(this).val()) + 4));
        })
    

    【讨论】:

      【解决方案2】:

      在服务器端,您可以使用POST 方法进行更改。首先为模型添加一个新属性,例如selectedpackage

      namespace testproject
          [BindProperties]
          public class testModel : testModel
          {
         public int package  { get; set; } = 3;
         public List<SelectListItem> packagelist { get; set; }
         public int selectedpackage { get; set; }
       public void OnGet()
              {
                  packagelist = new List<SelectListItem> {
              new SelectListItem { Value = "5", Text = "t1" },
              new SelectListItem { Value = "10", Text = "t2" },
              new SelectListItem { Value = "12", Text = "t3" },
          };
      }
      

      在客户端,您需要进行以下更改

          <form name="paymentform"  method="post">
          <fieldset>
      
      <label for="selectedpackage">package:</label>
              <select asp-for="selectedpackage" asp-items="Model.packagelist">
                  <option value="">Pick one</option>
              </select>
      
      <label for="amt">price:</label>
        </fieldset>
      </form>
      

      在 POST 上你可以这样做

      public void OnPost()
          {
              var amount = selectedpackage + 4;
              //do whatever else you need to
          }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-08-15
        • 2022-01-19
        • 1970-01-01
        • 2021-05-17
        • 2011-03-11
        • 2021-04-25
        • 2013-01-13
        相关资源
        最近更新 更多