私は非常に単純なウェブサイト ( http://mysite.com ) を持っています。1 つのページを含み、そのページはランダムな日時値を生成し、それを lable に書き込みます。そのページのコードは次のとおりです。
<form id="form1" runat="server">
<div>
<asp:Label ID="lblGeneratedDateTime" runat="server"></asp:Label>
<br />
<asp:DropDownList ID="ddlGenerateDateTime" runat="server" AutoPostBack="true"
onselectedindexchanged="ddlGenerateDateTime_SelectedIndexChanged">
<asp:ListItem Selected="True" Value="0">Today</asp:ListItem>
<asp:ListItem Value="1">-1 day</asp:ListItem>
<asp:ListItem Value="2">-2 days</asp:ListItem>
</asp:DropDownList>
</div>
</form>
および C# コード:
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
lblGeneratedDateTime.Text = GenerateDateTime(0).ToString();
}
}
protected void ddlGenerateDateTime_SelectedIndexChanged(object sender, EventArgs e)
{
int value = Convert.ToInt32(ddlGenerateDateTime.SelectedValue);
lblGeneratedDateTime.Text = GenerateDateTime(value).ToString();
}
Random random = new Random();
private DateTime GenerateDateTime(int minusDays)
{
DateTime date = DateTime.Now.AddDays(-minusDays);
return new DateTime(date.Year, date.Month, date.Day,
random.Next(0, 23), random.Next(0, 59), random.Next(0, 59));
}
}
ここで、WinForm アプリから、ページで生成された時間を読み取る必要があるため、デフォルト値の場合は次のようにします。
string url = "http://mysite.com";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
StreamReader streamReader = new StreamReader(response.GetResponseStream());
string page = streamReader.ReadToEnd();
int start = str.IndexOf("lblGeneratedDateTime\">") + 22;
int end = str.LastIndexOf("</span>");
string generatedDateTime = str.Substring(start, end - start);
return generatedDateTime;
DropDownList のポストバックを行う必要がある -1 および -2 日間の生成された値 (ページ コンテンツ) を読み取るにはどうすればよいですか。それとも無理ですか?
返信ありがとうございます。
追加した。変更できないサイトのコード!