我试图在单击按钮后通过URL将参数从一个文件传递到另一个文件。这些都是使用Express.js(index.ejs
至items.ejs
)编写的。
目前,我正在定义的Javascript函数中设置URL参数:
function loadItems(page, subcategory) {
window.history.pushState(null, null, "?subcat=" + subcategory) //param set
$('#mainContent').load(page);
}
其中subcategory
是不断变化的变量。
从那里开始,我试图在用嵌入式代码块编写的ASP.NET函数中读取此参数。
<% if(items[i].subcategory === Request.QueryString["subcat"].Value) { %> //get param
<% if (items[i].status === "Supported") { %>
<tr class="success">
<td><a href="/items/edit/<%= items[i]._id%>" data-toggle="modal" data-target="#editModal">Edit</a></td>
<td id="item name"><%= items[i].name%></td>
<td id="subcat name"><%= items[i].subcategory%></td>
<td id="item status"><%= items[i].status%></td>
<td id="item desc"><%= items[i].description%></td>
</tr>
但是我遇到一个错误,该错误指出Request is not defined
和上述if语句的回调。据我了解,在ASP.NET方面,Request.QueryString
是System.Web.HttpContext.Current
的一部分。
我该如何将其包含在代码块中,以便能够从URL中提取参数?或者,如果这不是解决此问题的方法,那么我应该如何解决呢?
答案 0 :(得分:0)
我的建议是在后面使用代码。嵌入式代码块是asp时代的老派历史。但是,如果必须,那么您应该可以执行以下操作:
<%@ Page Language="VB" %>
<script run=server>
Protected Function GetSubcat() As String
Return Request.QueryString["subcat"].Value
End Function
</script>
<form id="form1" runat="server">
Subcat value is <% =GetSubcat()%>.
</form>