簡體   English   中英

從Razor傳遞變量到Javascript

[英]Passing Variable from Razor to Javascript

因此,我在控制器中有一個對象列表,並且我想有一個按鈕來啟動一個彈出窗口,該窗口與列表中的每個對象相關聯。 我認為這需要通過Javascript完成,並確定要顯示哪個窗口,我需要將ID參數(對象的屬性之一)傳遞給javascript。 我目前有以下代碼:

@Html.BeginForm()
{
            @for (int i = 0; i < Model.Count(); i++)
            {
                var theId = Model[i].CW_Id;
            <tr>
                <td>
                    <input type="button" id="btnpopup" value="Details" onclick="ShowModelPopUp()" data="theId" />
                </td>
                @Html.EditorFor(m => Model[i], "CWinline") //Compiles the list using Editor Template
            </tr>
            }
            </table>

        <input type="submit" value="Save" class="btn btn-default" />
    }

    <script type="text/javascript">
        ShowModelPopUp = function () {
            var theId = $(this).data();
            window.showModalDialog('/Default/Selected/?id='+theId, "WindowPopup", 'width=200,height=500');
        }

    </script>

某種程度上,變量傳遞不正確。 有人知道哪里出了問題嗎?

這個:

<input 
  type="button" id="btnpopup" 
  value="Details" 
  onclick="ShowModelPopUp()" 
  data="theId" />

...會將字符串“ theId”放入屬性。 你要這個:

<input 
  type="button" id="btnpopup" 
  value="Details" 
  onclick="ShowModelPopUp()" 
  data="@theId" />

@將讓剃刀模板引擎知道切換到輸出.NET值。

嘗試

 <input type="button" id="btnpopup" value="Details" onclick="ShowModelPopUp()" data="@Model.id_attribute" />

暫無
暫無

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

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