|
蓝森林 http://www.lslnet.com 2006年8月25日 8:28
[ASP&ASP.NET]传值
我不懂.NET,但最近公司有一个项目,需要asp页面向.net页面传值,类似于域名的开发接口,利用ASP页面POST几个参数到.NET页面处理,不知传值方面有什么不同?? |
没有不同,都是一样的传法。 |
哦,贴两个页面你看看:
WebForm1.aspx
[code]
<%@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="webapp.WebForm1" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>WebForm1</title>
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" Content="C#">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<asp:Label id="Label1" style="Z-INDEX: 101; LEFT: 112px; POSITION: absolute; TOP: 80px" runat="server">短信通帐号:</asp:Label>
<asp:TextBox id="txtMsg" style="Z-INDEX: 109; LEFT: 216px; POSITION: absolute; TOP: 184px" runat="server"></asp:TextBox>
<asp:TextBox id="txtMobile" style="Z-INDEX: 108; LEFT: 216px; POSITION: absolute; TOP: 148px"
runat="server"></asp:TextBox>
<asp:TextBox id="txtPwd" style="Z-INDEX: 107; LEFT: 216px; POSITION: absolute; TOP: 114px" runat="server"></asp:TextBox>
<asp:TextBox id="txtUid" style="Z-INDEX: 106; LEFT: 216px; POSITION: absolute; TOP: 80px" runat="server"></asp:TextBox>
<asp:Label id="Label5" style="Z-INDEX: 105; LEFT: 128px; POSITION: absolute; TOP: 184px" runat="server">短信内容:</asp:Label>
<asp:Label id="Label4" style="Z-INDEX: 104; LEFT: 80px; POSITION: absolute; TOP: 148px" runat="server">接收短信的手机:</asp:Label>
<asp:Label id="Label3" style="Z-INDEX: 103; LEFT: 128px; POSITION: absolute; TOP: 224px" runat="server">发送状态:</asp:Label>
<asp:Label id="Label2" style="Z-INDEX: 102; LEFT: 112px; POSITION: absolute; TOP: 114px" runat="server">短信通密码:</asp:Label>
<asp:Label id="lblState" style="Z-INDEX: 110; LEFT: 224px; POSITION: absolute; TOP: 224px"
runat="server"></asp:Label>
<asp:Button id="Button1" style="Z-INDEX: 111; LEFT: 168px; POSITION: absolute; TOP: 272px" runat="server"
Text="发送方法一"></asp:Button>
<asp:Button id="Button2" style="Z-INDEX: 112; LEFT: 304px; POSITION: absolute; TOP: 272px" runat="server"
Text="发送方法二"></asp:Button>
</form>
</body>
</HTML>
[/code]
WebForm1.aspx.cs
[code]
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Net;
using System.Text;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
namespace webapp
{
/// <summary>
/// WebForm1 的摘要说明。
/// </summary>
public class WebForm1 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Label Label1;
protected System.Web.UI.WebControls.Label Label2;
protected System.Web.UI.WebControls.Label Label3;
protected System.Web.UI.WebControls.Label Label4;
protected System.Web.UI.WebControls.Label Label5;
protected System.Web.UI.WebControls.Label lblState;
protected System.Web.UI.WebControls.Button Button1;
protected System.Web.UI.WebControls.TextBox txtUid;
protected System.Web.UI.WebControls.TextBox txtPwd;
protected System.Web.UI.WebControls.TextBox txtMobile;
protected System.Web.UI.WebControls.TextBox txtMsg;
protected System.Web.UI.WebControls.Button Button2;
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Button1.Click += new System.EventHandler(this.Button1_Click);
this.Button2.Click += new System.EventHandler(this.Button2_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
private void Button1_Click(object sender, System.EventArgs e)
{
string sResult = RequestUrl(GetUrl());
string sInfo = "";
switch (sResult)
{
case "0":
sInfo = "发送失败";
break;
case "1":
sInfo = "发送成功";
break;
case "2":
sInfo = "参数不全";
break;
case "3":
sInfo = "用户名或密码错误";
break;
case "4":
sInfo = "帐户余额不足";
break;
case "5":
sInfo = "手机号码超过100个";
break;
case "6":
sInfo = "发送手机里有错误号码";
break;
case "7":
sInfo = "短信内容含有非法字符";
break;
case "8":
sInfo = "短信内容超过500个字";
break;
}
lblState.Text = sInfo;
}
private void Button2_Click(object sender, System.EventArgs e)
{
Response.Redirect(GetUrl());
}
private string GetUrl()
{
string sUid = txtUid.Text.Trim();
string sPwd = txtPwd.Text.Trim();
string sMobile = txtMobile.Text.Trim();
string sMsg = txtMsg.Text.Trim();
sUid = HttpUtility.UrlEncode(sUid,UnicodeEncoding.GetEncoding("GB2312"));
sPwd = HttpUtility.UrlEncode(sPwd,UnicodeEncoding.GetEncoding("GB2312"));
sMobile = HttpUtility.UrlEncode(sMobile,UnicodeEncoding.GetEncoding("GB2312"));
sMsg = HttpUtility.UrlEncode(sMsg,UnicodeEncoding.GetEncoding("GB2312"));
return "Http://192.168.18.22/customer/admin/groupSms.aspx?Uid=" + sUid + "&Pwd=" + sPwd + "&Mobile=" + sMobile + "&Msg=" + sMsg;
}
private string RequestUrl(string url)
{
string HtmlText = "";
try
{
WebRequest req = WebRequest.Create(url);
WebResponse res = req.GetResponse();
Stream resStream = res.GetResponseStream();
StreamReader sr = new StreamReader(resStream,Encoding.Default);
HtmlText = (string)sr.ReadToEnd();
sr.Close();
}
catch
{
}
return HtmlText;
}
}
}
[/code]
其中这句:return "Http://192.168.18.22/customer/admin/groupSms.aspx?Uid=" + sUid + "&Pwd=" + sPwd + "&Mobile=" + sMobile + "&Msg=" + sMsg;
应该是传几个参数给外部某个网页处理
但:
[code]
switch (sResult)
{
case "0":
sInfo = "发送失败";
break;
case "1":
sInfo = "发送成功";
break;
case "2":
sInfo = "参数不全";
break;
case "3":
sInfo = "用户名或密码错误";
break;
case "4":
sInfo = "帐户余额不足";
break;
case "5":
sInfo = "手机号码超过100个";
break;
case "6":
sInfo = "发送手机里有错误号码";
break;
case "7":
sInfo = "短信内容含有非法字符";
break;
case "8":
sInfo = "短信内容超过500个字";
break;
}
[/code]
这是返回的值吧,这里用ASP做就不会了…… |
上面的问题已经解决了,谢谢 |
|