【问题标题】:retrieving parameters via "request.querystring" from included html file通过“request.querystring”从包含的 html 文件中检索参数
【发布时间】:2017-01-30 17:10:10
【问题描述】:

嗯,我在 (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" -->

在主页并注册然后移动到“RegisterDetails.aspx”,我正在通过 request.querystring 检索参数:

string fname = Request.QueryString["fname"];
string lname = Request.QueryString["lname"];

然后我可以看到“fname”和“lname”等于:“”(空白或无)

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

【问题讨论】:

    标签: javascript html css asp.net


    【解决方案1】:

    有时从包含中捕获变量可能很棘手。我倾向于更喜欢服务器控件,然后使用“this.pageName..”来准确定义变量的来源,类似于 MasterPage。此外,您可能需要考虑一些错误处理以准确了解正在发生的事情,例如:

    if(collection == null)
    {
        throw new ArgumentNullException("collection");
    }
    

    【讨论】:

    • 不能在上面发表评论(仍然太新),所以会在这里评论。对变量使用会话状态时要非常小心。非常不稳定,最终会导致巨大的视图状态混乱(不利于 SEO 等)。我的 2 美分来自构建巨型应用程序..
    【解决方案2】:

    我在 (navBar.html) 中有一个内置的注册表单,我包括 这个 .html 到我网站中的每个页面(网站的标题)。

    首先,这不是一个好习惯。我们应该在 ASP.Net Web 表单中只有 一个表单标签。

    其次,您不应该在查询字符串中转发用户的名字和姓氏。主要是,用户可以输入任何内容,并且 URL 可能最终无效。另一个原因是,如果用户在 URL 中看到自己的名字,他们会吓坏。

    解决问题的一个简单方法是创建用户控件,并附加OnClick registerSubmit 按钮的服务器事件。然后将 FirstName 和 LastName 存储在 Session State 中,并在 RegisterDetails.aspx 中检索这些值。

    【讨论】:

    • 好吧,我可以在这个按钮上应用 CSS 样式,即使它在用户控件中是已知的?
    • 我需要删除“navBar”之类的吗?或者我可以附加这个特定的元素吗?
    • 嗯,User Control 和 Session State 是 ASP.Net Web Form 的非常基础的基础。我建议你读一两本书。否则,您将在非常基本的东西上苦苦挣扎。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-22
    • 2017-08-01
    • 1970-01-01
    • 2018-12-15
    • 2013-06-14
    • 2015-08-02
    相关资源
    最近更新 更多