0

カミソリ変数を機能パラメータとしてJavaScriptに送信することに関する多くの投稿を読みましたが、何もうまくいきませんでした。

これが私のかみそりのビューです:

string uniqueIdFirst = Model.Requests.FirstOrDefault().UniqueId;
@Html.DevExpress().Button( saveSett =>
{
    saveSett.Name = "btnCancelRequest";
    saveSett.Text = "Cancel";
    saveSett.Width = 63;
    saveSett.Height = 28;
    saveSett.ControlStyle.CssClass = "button";
    saveSett.Styles.EnableDefaultAppearance = false;
    saveSett.EnableClientSideAPI = true;
    saveSett.ClientSideEvents.Click = "function(s, e) { BtnCancelRequest('@uniqueIdFirst'); }";
} ).GetHtml();

JavaScript関数BtnCancelRequestをデバッグすると、文字列「@uniqueIdFirst」だけが得られることがわかります。

4

2 に答える 2

2

そのためには js 変数を使用する必要があります。次のようにしてみてください。

<script type="text/javascript">
var uniqueIdFirst = '@Model.Requests.FirstOrDefault().UniqueId';
</script>

そしてイベントで:

saveSett.ClientSideEvents.Click = "function(s, e) { BtnCancelRequest(uniqueIdFirst); }";
于 2015-08-13T07:13:05.577 に答える
0

外部 JS ファイルを使用する場合は、以下を作成するより良い方法:

@{
    string uniqueIdFirst = Model.Requests.FirstOrDefault().UniqueId;
}

saveSett.ClientSideEvents.Click = "function(s, e) {BtnCancelRequest('" + uniqueIdFirst + "'); }";
于 2015-08-13T08:03:28.837 に答える