其實我是通過twitterizer自動發送推文,並從不同的url上獲取api JSON數據的數據。但是,當我把文本框中的url並啓動項目它工作正常,我從文本框中獲取數據,但當過程進入「授權的應用程序」在Twitter和我按「授權」按鈕,然後頁面加載再次,但在那個時候Request [「textbox」]爲空。下面是正面編輯代碼。我從一個網頁,如 「Frontsheet.aspx」 發佈的數據TwitterStrap.aspx如何在Webforms中提交按鈕後一次維護文本框的值
<form id="form1" runat="server" action="TwitterStrap.aspx" >
<div style="position:absolute">
<input type="text" id="text1" name="txtFirstName" placeholder="Enter Your First Name" />
<br />
<input id="Submit1" type="submit" value="submit" />
</div>
</form>
這是TwitterStrap.aspx.cs代碼
protected void Page_Load(object sender, EventArgs e)
{
var text="";
if (!IsPostBack)
{
text = Request.Form["txtFirstName"];
}
using (var webClient = new System.Net.WebClient())
{
var jsonString = webClient.DownloadString(text);
ProductsJsonModel Data = JsonConvert.DeserializeObject<ProductsJsonModel>(jsonString);
List<Product> ProductsFromUrl = Data.products; // All of your products are here.
// Your code
Session["value"] = ProductsFromUrl;
var title="";
var cnt = ProductsFromUrl.Count;
for (int i = 0; i < cnt; i++)
{
title = ProductsFromUrl[0].title;
}
var oauth_consumer_key = "myLtWOTLGtLsjNsm15tUUpdEX";
var oauth_consumer_secret = "uC9yHjPPV83Olvq0I8zt9eMwyucIpUcO70NduqNx0JuPQVyDZB";
if (Request["oauth_token"] == null)
{
OAuthTokenResponse reqToken = OAuthUtility.GetRequestToken(
oauth_consumer_key,
oauth_consumer_secret,
Request.Url.AbsoluteUri);
Response.Redirect(string.Format("http://twitter.com/oauth/authorize?oauth_token={0}",
reqToken.Token));
}
else
{
string requestToken = Request["oauth_token"].ToString();
string pin = Request["oauth_verifier"].ToString();
var tokens = OAuthUtility.GetAccessToken(
oauth_consumer_key,
oauth_consumer_secret,
requestToken,
pin);
OAuthTokens accesstoken = new OAuthTokens()
{
AccessToken = tokens.Token,
AccessTokenSecret = tokens.TokenSecret,
ConsumerKey = oauth_consumer_key,
ConsumerSecret = oauth_consumer_secret
};
//TwitterResponse<TwitterStatus> response = TwitterStatus.Update(
// accesstoken,
// "Testing!! It works (hopefully).");
Twitterizer.TwitterResponse<TwitterStatus> response = TwitterStatus.Update(accesstoken, title, new StatusUpdateOptions() { UseSSL = true, APIBaseAddress = "http://api.twitter.com/1.1/" });
if (response.Result == RequestResult.Success)
{
Response.Redirect("https://twitter.com/");
}
else
{
Response.Redirect("https://twitter.com/");
}
}
}
}
如果會,如果沒有提交只火形式(的IsPostBack!)。如果表單沒有提交,您將不會有第一個SD名稱的request.form。 – Joel
喬爾謝謝,那我該怎麼辦? –
查看CodingYoshi提交的答案 – Joel