我有一个 JavaScript
<script type="text/javascript" language="JavaScript">
function getFaq(selectedFaq)
{
document.frmFaqs.S1.value = selectedFaq;
}
ascx 是
<script type="text/javascript" language="JavaScript">
alert("asds");
function getFaq(selectedFaq)
{
<asp:Literal id="litScript" runat="server" />
}
</script>
</head>
<body>
<form action="" name="frmFaqs">
<div runat="server" id="wrapper">
</div>
</form>
</body>
ascx.cs 是
protected void Page_Load(System.Object sender, System.EventArgs e)
{
FAQController obj = new FAQController();
DataSet ds = new DataSet();
int id = 1;
ds = obj.getfaq(id);
litScript.Text += "{document.frmFaqs.S1.value = selectedFaq;}";
string ltr;
ltr = "<tr>";
ltr += "<td height='52' valign='top' width='100%'>";
ltr += "<table style='border-collapse: collapse;' id='AutoNumber1' border='0' bordercolor='#111111' cellpadding='0' cellspacing='0' height='1' width='100%'>";
ltr += "<tbody>";
ltr += "<tr><td align='center' height='42' width='34%'> </td><td align='center' height='42' width='33%'><p align='left'><font color='#0000FF' face='Verdana'>Question</font></p></td><td align='center' height='42' width='33%'> </td> </tr>";
ltr += "<tr><td align='center' height='37' width='34%'> </td><td align='center' height='37' width='33%'><p align='left'><select size='16' name='cmbFaqs' style='width:400;height:146' onchange='getFaq(frmFaqs.cmbFaqs.options[frmFaqs.cmbFaqs.selectedIndex].value); return false' multiple='multiple'><option selected='selected'>Select Your Question</option>";
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
if (i == 0)
{
ltr += "<option>-----" + ds.Tables[0].Rows[i]["heading"].ToString() + "-----</option>";
Session["temp"] = ds.Tables[0].Rows[i]["heading"].ToString();
ltr += "<option value='" + ds.Tables[0].Rows[i]["answer"].ToString() + "'>" + ds.Tables[0].Rows[i]["questions"].ToString() + " </option>";
}
else if (Session["temp"].ToString() == ds.Tables[0].Rows[i]["heading"].ToString())
{
ltr += "<option value='" + ds.Tables[0].Rows[i]["answer"].ToString() + "'>" + ds.Tables[0].Rows[i]["questions"].ToString() + " </option>";
}
else
{
ltr += "<option>-----" + ds.Tables[0].Rows[i]["heading"].ToString() + "-----</option>";
Session["temp"] = ds.Tables[0].Rows[i]["heading"].ToString();
ltr += "<option value='" + ds.Tables[0].Rows[i]["answer"].ToString() + "'>" + ds.Tables[0].Rows[i]["questions"].ToString() + " </option>";
}
}
ltr += "</select></p></td><td align='center' height='37' width='33%'> </td></tr>";
ltr += "<tr><td align='center' height='44' width='34%'> </td><td align='center' height='44' width='33%'><p align='left'><font color='#0000FF' face='Verdana'>Answer <font size='2'>(Do not type in this box)</font></font></p></td><td align='center' height='44' width='33%'> </td></tr>";
ltr += " <tr><td align='center' width='34%'><font style='font-size: 9pt' face='Arial'><br> </font></td><td align='center' width='33%'><p align='left'><textarea rows='2' name='S1' cols='20' style='width: 400px; height: 247px;'>Unfortunately,we are not qualified to answer questions authoritively on Islam and therefore refrain from doing so in order not to mislead. We are only able to answer questions on our products. Please redirect your question to <A target='_blank'";
ltr += "href='http://english.islamweb.net/ver2/Fatwa/index.php?lang=E'>http://english.islamweb.net/ver2/Fatwa/index.php?lang=E</A>or <a href='http://www.askimam.com'>www.askimam.com</a></textarea></p></td><td align='center' width='33%'> </td></tr>";
ltr += "</tbody>";
ltr += "</table>";
ltr += "</td>";
ltr += "</tr>";
wrapper.Controls.Add(new LiteralControl(ltr));
}
当我在 .aspx 页面中使用它时,它工作得很好。但是当我在 dotnet nuke 的用户控件中尝试它时,javascript 不起作用
注意:frmFaqs 是一个带有 runat=server 的表单...我如何在 dotnetnuke 中使用表单标签
最佳答案
DotNetNuke 将所有内容包装在一个表单中,您的代码不能有自己的表单。如果您需要表单,则需要使用 iframe,或动态(使用 JavaScript)在主表单之外移动/创建它。
关于javascript 在 dotnetnuke 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7226833/