通过" request.querystring"检索参数;来自包含的html文件

时间:2017-01-30 17:10:11

标签: javascript html css asp.net

好吧,我在(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; (空白或没有)

从包含文件中检索这些参数的任何解决方案?

2 个答案:

答案 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中检索这些值。