我如何隐藏一个按钮在视图使用MVC 3当页面的某一部分加载?我浏览分类教科书

How do I hide a button in view using MVC 3 when a certain part of a page loads? ie browsecategory schoolbooks

本文关键字:加载 分类 教科书 浏览 一部分 隐藏 何隐藏 一个 视图 按钮 MVC      更新时间:2023-09-26

你好,我正在尝试使用paypal按钮在我的MVC电子商务网站基于MVC音乐商店教程。我从数据库加载特定的数据,所以我想有一个单一的按钮下拉菜单在我的网站上的每个类别。我想知道如何在学校书籍类别出现时隐藏一个按钮,并在文具类别出现时再次显示它,这样我在任何时候都只能看到该类别的特定按钮。当视图指向浏览学校图书类别时,我只希望学校图书按钮可见。我的代码如下

存储控制器:

  public ActionResult Browse(string category)
    {
        // Retrieve Category and its Associated Products from database
        var categoryModel = storeDB.Categories.Include("Products")
        .Single(c => c.Name == category);
        return View(categoryModel);

    }

浏览视图:

@model WholeschoolStore3.Models.Category
@{
ViewBag.Title = "Browse Categorys";
}
<div class="product">
<h3><em>@Model.Name</em> Products</h3>
<ul id="Product-list">
    @foreach (var product in Model.Products)
    {
        <li>
            <a href="@Url.Action("Details", new { id = product.ProductId })">
                <img alt="@product.ProductName" src="@product.ProductUrl" />
                <span>@product.ProductName</span>
            </a>
        </li>
    }
</ul>                                                                                                                                                                                                      
<form target="paypal" action="" method="post">
<input type="hidden" name="cmd" value="_s-xclick"/>
<input type="hidden" name="hosted_button_id" value=""/>
School Books<select name="os0">
<option value="History Book">History Book €38.99 EUR</option>
<option value="Biology Book">Biology Book €34.99 EUR</option>
<option value="Math Book">Math Book €39.99 EUR</option>
<option value="Geography Book">Geography Book €34.99 EUR</option>
<option value="Business Studies Book">Business Studies Book €37.99 EUR</option>
</select>
<input type="hidden" name="currency_code" value="EUR"/>
<input type="image" src=""  
 width="1" height="1"/>
<img alt="" border="0" src=""    
 width="1" height="1"/>

</form>
<form target="paypal" action="" method="post">
<input type="hidden" name="cmd" value="_s-xclick"/>
<input type="hidden" name="hosted_button_id" value=""/>
<input type="hidden" name="on0" value="Stationary"/>Stationary<select name="os0">
<option value="Pencil">Pencil €0.49 EUR</option>
<option value="Pen">Pen €0.89 EUR</option>
<option value="A4 Refill pad">A4 Refill pad €3.99 EUR</option>
</select> 
<input type="hidden" name="currency_code" value="EUR"/>
<input type="image" src=""
border="0" name="submit" alt="PayPal - The safer, easier way to pay online!"/>      
<img alt="" border="0" src=""  
 width="1" height="1"/>
</form>

</div>

我已经尝试了一些帖子,并没有找到我正在寻找的

如有任何帮助,不胜感激

可以使用jquery/javascript实现。根据选择的选项,你可以隐藏和显示任何你想要的按钮。

请参考示例。在本例中,如果您选择Pen€0.89 EUR选项,按钮将隐藏;在其他情况下,它将显示

        <!DOCTYPE html>
        <html>
        <head>
        <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js">
        </script>
        <script>
        $(document).ready(function(){
        $("select").change(function () {
          $("select option:selected").each(function () {
                if ($(this).text()=='Pen €0.89 EUR' )
                   $("#btnGo").hide();
                else
                   $("#btnGo").show();
              });
        })
        .trigger('change');
        });
        </script>
        </head>
        <body>
        <select name="os0">
        <option value="Pencil">Pencil €0.49 EUR</option>
        <option value="Pen">Pen €0.89 EUR</option>
        <option value="A4 Refill pad">A4 Refill pad €3.99 EUR</option>
        </select> 
        <input id="btnGo" type="button" value="Hi" />
        </body>
        </html>

你的html也有一些问题首先选择是否在期权开始前关闭应该是

School Books<select name="os0">
<option value="History Book">History Book €38.99 EUR</option>
<option value="Biology Book">Biology Book €34.99 EUR</option>
<option value="Math Book">Math Book €39.99 EUR</option>
<option value="Geography Book">Geography Book €34.99 EUR</option>
<option value="Business Studies Book">Business Studies Book €37.99 EUR</option>
</select>

我找到了一种方法来解决问题,我刚刚添加了一个div,然后隐藏它,然后添加了一个复选框,当点击显示div的代码如下:

 <script  type="text/javascript">
         $(function () {
             $('#ShowHideMe').hide();
             $('#myCheckbox').change(function () {
                 $('#ShowHideMe').toggle($(this).is(':checked'));
             });
         });
</script>
     <input type="checkbox" id="myCheckbox"/>SchoolBooks
<div id="ShowHideMe">                                                                                                                                                                                                    
   //form code here
</div>    
<br />
   <script  type="text/javascript">
       $(function () {
           $('#ShowHideMe1').hide();
           $('#myCheckbox1').change(function () {
               $('#ShowHideMe1').toggle($(this).is(':checked'));
           });
       });
 </script>
     <input type="checkbox" id="myCheckbox1"/>Stationary
 <div id="ShowHideMe1">
      //form code here
 </div>

感谢所有回复者的帮助

顺便说一下,我丢失了我的另一个帐户的密码,所以不得不做一个新的,这就是为什么我回复作为一个不同的用户