【发布时间】:2011-08-29 06:27:22
【问题描述】:
我有一个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 中使用表单标签
【问题讨论】:
-
您能否发布 .ascx 以便我们查看您正在使用的内容?您可能只需要使用表单的 ClientID。
-
我已经在代码本身中完成了大部分工作......我将 ascx 和 ascx.cs 都放入了
标签: javascript asp.net dotnetnuke