您的位置:首页 > 编程语言 > ASP

Asp.net C#页面传参的几种方式

2016-07-24 23:13 861 查看

        在做asp.net的项目中,经常用的一个知识点就是如何在页面之间传值。总结一下,应用过的几个小例子。

一、前台脚本调用后台:

        1、html里调用后台代码,调方法,返回值为string。

<!--前台脚本:-->
<%=GetUserName()%>
//后台代码
public string GetUserName() //注意该方法返回值不能为void,否则执行会报错
{
string userName="";
//userName="a";
return userName;
}
        用途:
可以用来在后台拼html页面,返回到前台脚本中。

        例子:

html代码:

<div style="margin-top:-130px; z-index:1000;position:relative; height:130px" id="headdiv" runat="server">
<%=Getpicture()%>
<a class="center-block" style="text-decoration:none; color:#fff;">
<h5>用户等级</h5>
</a>
</div>

             后台代码:
public string Getpicture()
{
//1.获取用户的id
JCZB.YMGJ.Model.ymgj_user user = (JCZB.YMGJ.Model.ymgj_user)Session["User"];
string uid = user.uid.ToString();
//根据用户的id获取照片的路径
string heading = bll.GetHeadimgByUid(uid);
StringBuilder strDiv = new StringBuilder();
if (heading == "")
{
//头像不存在
strDiv.Append("<img style=\"width:78px; height:78px;\" src=\"../../../Admin/Images/mine/login.png\" onclick=\"javascript:window.location.href='Userinfo.aspx';\" />");
}
else
{
//头像存在
strDiv.Append("<img style=\"width:78px; height:78px; border-radius:50%; overflow:hidden;\" src=\" ");
strDiv.Append(heading);
strDiv.Append(" \" onclick=\"javascript:window.location.href='Userinfo.aspx';\" />");
}
return strDiv.ToString();
}
        效果展示:



       
2、前台js中也可以用此种方式调用后台代码

Var name=<%=GetUserName()%>
var name=<%=Session["UserName"]%>
        3、html里调用后台代码里的参数:

<%#Eval(UserName)%>
        4、通过id给相应控件赋值:

<asp:Label ID="artist" runat="server"></asp:Label>
this.artist.Text = "艺术家:无" ;

二、后台调用前台(html、js)中的数据:

        1、可以通过控件id获取控件的value值、text值等。

        前台通过js进行了一些处理,得到了一些值,想传到后台,可以考虑这个方案:新建一个隐藏的input标签,把参数放到input标签的value值中,在后台通过input的id获取input的value值,进行操作。

三、特殊方式:

        可以通过把值存入session、cookie、cache等中,直接调用。在项目中用session用的较多。

        

推荐几个总结传值的链接:

        http://www.pc6.com/infoview/Article_43306.html

        http://www.111cn.net/net/net/42641.htm

        http://www.jb51.net/article/18665.htm

        http://www.111cn.net/net/net/45589.htm
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  asp.net