你好iam试图从网址获取id并将其发送到clint端这就是我所做的
这是我的网址:
http://localhost:53010/edit.aspx?Id=4
背后的代码
Public Partial Class Edit
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
Handles Me.Load
End Sub
Private _myId As String = Request.QueryString("id")
Public Property myId() As String
Get
Return _myId
End Get
Set(ByVal value As String)
_myId = value
End Set
End Property
结束课程 客户
<%= myId%>
错误
Request is not available in this context
当我将私人道具移至page_load()时,这也是我得到的 “私人”对本地变量声明无效 - 任何想法发生了什么
谢谢
我在这里解决这个问题就是答案
Public Partial Class Edit
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
Handles Me.Load
MyIdVal = Request.QueryString("id")
End Sub
Private _myIdVal As String
Public Property MyIdVal() As String
Get
Return _myIdVal
End Get
Set(ByVal value As String)
_myIdVal = value
End Set
End Property
结束班
答案 0 :(得分:3)
这是字段初始化程序
字段初始值设定项在构造函数之前运行,无法访问它们正在初始化的实例
因此,您无法在那里使用Request
属性。
您需要将其移至构造函数或Page_Load
。
答案 1 :(得分:1)
您过早访问Request
。
如果您在myId
,Init
或任何其他类似的网页活动中设置Page_Load
,则会有效。
答案 2 :(得分:0)
尝试在PageLoad中设置_myId。
答案 3 :(得分:-1)
所以我想要一个具有从查询字符串设置的属性并找到此线程的类。我还希望能够访问首页上的属性,甚至可以从一个位置访问JavaScript。以下是我提出的建议:
// App_Code/QueryStrings.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
/// <summary>
/// Summary description for QueryStrings
/// </summary>
public class QS
{
private int id = -1;
public QS()
{
if (HttpContext.Current.Request.QueryString["id"] != null)
try
{
Int32.TryParse(HttpContext.Current.Request.QueryString["id"], out id);
}
catch
{
id = -2;
}
else
id = -3;
}
public int ID
{
get
{
return id;
}
}
}
然后您可以从.aspx页面调用它,如下所示:
<body>
<form id="form1" runat="server">
<div>
<% QS qs = new QS(); %>
ID = <%= qs.ID %>
</div>
</form>
</body>
当然,您可以使用相同的语法从代码调用。