好吧,我在(navBar.html)中有一个内置的注册表单,我将这个.html包含在我网站的每个页面(网站标题)中。 形式代码:
<form method="get" action="../RegisterDetails.aspx" id="registerForm" onsubmit="return validateRegister()">
<h3>Register Form</h3>
<hr /><br />
<label id="fnameLabel">First Name: <span>*</span><label id="hiddenfname" class="h-hidden-label">Enter First Name Please</label></label>
<br />
<input type="text" id="fname" placeholder="First Name" /><br />
<br />
<label id="lnameLabel">Last Name: <span>*</span><label id="hiddenlname" class="h-hidden-label">Enter Last Name Please</label></label>
<br />
<input type="text" id="lname" placeholder="Last Name" /><br />
<br />
<input type="submit" id="registerSubmit" value="Send" />
<input type="button" id="cancel" value="Cancel" />
<br />
</form>
表格还可以。 它有.js文件和.css文件。 但是当我使用
时<!-- #include file="Adders/navBar.html" -->
在主页和寄存器中,然后转到&#34; RegisterDetails.aspx&#34;,我通过request.querystring检索参数:
string fname = Request.QueryString["fname"];
string lname = Request.QueryString["lname"];
然后我可以看到&#34; fname&#34;和&#34; lname&#34;等于:&#34;&#34; (空白或没有)
从包含文件中检索这些参数的任何解决方案?
答案 0 :(得分:0)
有时从include中捕获变量可能会很棘手。我倾向于更喜欢服务器控件,然后使用“this.pageName ..”来准确定义变量来自类似于MasterPage的位置。此外,您可能需要考虑一些错误处理,以确切了解发生的情况,例如:
if(collection == null)
{
throw new ArgumentNullException("collection");
}
答案 1 :(得分:0)
我在(navBar.html)中有一个内置的注册表单,我包括 这个.html到我网站的每个页面(网站标题)。
首先,这不是一个好习惯。我们在ASP.Net Web表单中应该只有 一个表单标记 。
其次,您不应在查询字符串中转发用户名和姓。主要是,用户可以键入任何内容,URL可能最终无效。另一个原因是,如果用户在网址中看到他们的名字,他们就会感到害怕。
解决问题的简单方法是 创建用户控件 ,并附加 OnClick registerSubmit按钮的服务器事件。然后在 会话状态 中存储 FirstName 和 LastName ,并在RegisterDetails.aspx中检索这些值。