簡體   English   中英

混合javascript和C#

[英]Mixing javascript and C#

我有@model IEnumerable<HotelWithRating> -一些酒店。 在視圖中,我有5個復選框-酒店星級。

<table>
    <tr>
        <td>1</td>
        <td>2</td>
        <td>3</td>
        <td>4</td>
        <td>5</td>
    </tr>
    <tr>
        <td><input type = 'checkbox' value="false" id= '1' onclick = ' ShowHotels();'/></td>
        <td><input type = 'checkbox' value="false" id= '2' onclick = ' ShowHotels();'/></td>
        <td><input type = 'checkbox' value="false" id= '3' onclick = ' ShowHotels();'/></td>
        <td><input type = 'checkbox' value="false" id= '4' onclick = ' ShowHotels();'/></td>
        <td><input type = 'checkbox' value="false" id= '5' onclick = ' ShowHotels();'/></td>
    </tr>
</table>

我需要顯示例如5或4星級的酒店(如果選中了第四和第五復選框)。

應該是這樣的

<table class="Grid"> 
    <tr> 
        <th>Name</th>
        <th>Stars</th>       
        <th>Rating</th>
        <th>Description</th>             
    </tr> 
    <script type="text/javascript">
        function ShowHotels() 
        {
              @foreach (var item in Model)
                  {
                      <text>
                      if (document.getElementById(item.Hotel.stars).checked == true)
                      {
                          <tr>
                          <td>@item.Hotel.Name</td>
                          <td>@item.Hotel.Stars</td>
                          <td>@item.Rating</td>
                          <td>@item.Hotel.Description</td>
                          </tr>
                      }
                      </text>
                  }
        }
    </script>
</table>

我發現了許多有關將javascript與代碼混合的主題,但還沒有決定。

最好先根據復選框選擇過濾模型。 可以在客戶端通過比較模型中每個酒店的屬性來完成。 否則,您也可以使用AJAX進行服務器端過濾(發送選定復選框的信息,然后服務器將向您發送過濾后的模型)。 服務器端過濾更好,因為您有大量需要調查的酒店。

然后,將此過濾后的模型分配給Grid或使用for循環使用JavaScript為過濾后的模型中的每個元素生成表。

如有問題,請隨時詢問任何其他問題。 謝謝。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM