Razorビューで、次のようなものがあると仮定します。
@Html.HiddenFor(model => model.Värde)
ここで、「Värde」はスウェーデン語で「Value」を意味します。「ä」が含まれていることに注意してください。このため、Razorは次のようなHTMLを生成します。
<input id="V_rde" name="Värde" type="hidden" />
要素のIDは、「Värde」ではなく「V_rde」であることに注意してください。
では、getElementByIdを使用してJavaScriptからこの要素にアクセスするにはどうすればよいですか?'V_rde'を使用できることは理解していますが、 "Värde"だけでなく、次のような一般的に機能するものが必要です(htmlAttributesパラメーターを意味します)。
@Html.Whatever(..., new { onclick = "JavaScript:alert(document.getElementById('@Html.IdFor("Värde")'));" })
@ Html.IdFor(string name)で、ラベル、チェックボックス、エディットボックスなどの@HtmlヘルパーでIDが変換されるのとまったく同じように名前を変換したい場合。