このステートメントになるように、引用符をエスケープするにはどうすればよいですか
string sScript =@"<script language='javascript'>function ShowDropDown(){var combo = $find("""+this.ClientID+""");combo.showDropDown(true);}</script>";
このように読みます
function ShowDropDown() {
var combo = $find("ctl00_ctl00_MainContent_MainContent_VendorTypeIdComboBox");
combo.showDropDown(true);
}
編集-更新 さまざまなエラーが発生し続けるため、質問を間違った可能性があります。通常、JavaScriptをページに直接配置すると、関数は機能します。この方法でJavaScriptを挿入すると、機能しません
私はコードビハインドでこれをやっています
string sScript =@"<script language='javascript'> function ShowDropDown(){ var combo = $find("""+this.ClientID+@"""); combo.showDropDown(true); } </script>";
ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), "autoopendropdown", sScript, false);
OnClientFocus = "ShowDropDown()";
このように生成されます
<script language='javascript'> function ShowDropDown(){ var combo = $find("ctl00_ctl00_MainContent_MainContent_VendorTypeIdComboBox"); combo.showDropDown(true); } </script>
しかし、変数コンボはnullであり、それが問題です。コードビハインドに登録されていると機能せず、ページに正常に書き込むと機能する理由がわかりません。