通常の質問の反対です。RazorのJavaScriptをLINQ式に埋め込む方法は?
特定のguidで認識されるコントロールにスコアを追加する機能があります。問題は、上限がRazorページのモデルに保存されていることです。ボタンのIDから取得したGUIDを使用して取得する必要があります。 Model.Answers.Single(=> .ID == HERE JS GUID BE).MAX
@
GUIDは$(呼び出し).ATTR( "ID")である。SUBSTR(3)
関数のコードは次のようになります。私は自分の人生のために文法を理解することはできません。
function adjustScore(invoker, delta) {
var target = $("#val" + $(invoker).attr("id").substr(3));
var newValue = +target.html() + delta;
var max = @Model.Answers.Single(_=>_.Id == new Guid()).Max;
if (newValue < 0 || newValue >= max)
newValue = 0;
target.html(newValue);
}
レイザーコードはサーバー側であり、ビューがクライアントに送信される前に評価されます。その時点でjavascript変数は存在しません。 –
Razorコードでボタンが生成された場合、JavaScriptで使用できる制限が生成されることもあります。 –