我怎样才能逃避引号,以便这个语句
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>
但变量组合为空,这就是问题所在。我无法弄清楚为什么当它使用代码隐藏注册时它不起作用,而当它正常写在它的页面上时。