如何使用<% = %>代码?

sxldfang 2012-09-18 04:47:13
前台页面courseContent.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="courseContent.aspx.cs" Inherits="teachingAndStudy.Public.courseContent" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script src="../js/jq1.6.2.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function () {
$.post('getCourseMenus.ashx', 'who=<% =who %>', function (d) {

});
})
});
</script>
</head>
<body>
<form id="form1" runat="server">
<div id='content'>
</div>
</form>
</body>
</html>



后台页面courseContent.aspx.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace teachingAndStudy.Public
{
public partial class courseContent : System.Web.UI.Page
{
public string who = null;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
who = Request.QueryString["who"];
}
}
}
}


前台页面中有下面的内容:
$.post('getCourseMenus.ashx', 'who=<% =who %>', function (d) {});

其中的who的值是其他页面传递过来的参数,如何将该参数传递给 jQuery 进行 post ? O(∩_∩)O谢谢~~~
...全文
392 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
极地_雪狼 2012-09-19
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
这样就可以啊

<%=who %>
最好 public string who = "";
[/Quote]
如果 who = null ;
由于要在if (!IsPostBack) 内才能赋值,这样显示容易出错。不止给个空字符串。
o0_真诚_0o 2012-09-19
  • 打赏
  • 举报
回复
传递给 jQuery ,用4楼的办法吧
Delta 2012-09-19
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]

可能是页面验证的问题
[/Quote]。。。。。。。
Amateur0 2012-09-19
  • 打赏
  • 举报
回复
tingege
色拉油 2012-09-19
  • 打赏
  • 举报
回复
最好就不要有这样的代码
beyond_me21 2012-09-18
  • 打赏
  • 举报
回复

$(function () {
$.post('getCourseMenus.ashx', {who:<%=who%>}, function (d) {

});
})
});
sxldfang 2012-09-18
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 的回复:]

'who=<% =who %>'

改为
'<% =who %>' 就可以了
[/Quote]

不行啊~~~
孟子E章 2012-09-18
  • 打赏
  • 举报
回复
你也可以
Page.ClientScript.RegisterClientScriptBlock(Page.GetType(), "x", "var query = '" + who + "'", true);

$.post('getCourseMenus.ashx', 'who='+who, function (d) {});

总之方法很多
孟子E章 2012-09-18
  • 打赏
  • 举报
回复
可能是页面验证的问题
sxldfang 2012-09-18
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

你也可以这样写
$.post('getCourseMenus.ashx', 'who=<asp:Literal ID="Literal1" runat="server"></asp:Literal>', function (d) {});


后台
Literal1.Text = who
[/Quote]

这倒是个思路,但是但觉很蹩脚,原来的为何不行呢?虽然有提示信息,可我不知所云啊,惭愧~~~
孟子E章 2012-09-18
  • 打赏
  • 举报
回复
你也可以这样写
$.post('getCourseMenus.ashx', 'who=<asp:Literal ID="Literal1" runat="server"></asp:Literal>', function (d) {});


后台
Literal1.Text = who
bdmh 2012-09-18
  • 打赏
  • 举报
回复
<%= i%>调用cs代码中的i变量,mvc中也用这个符号
sxldfang 2012-09-18
  • 打赏
  • 举报
回复
错误信息如下:


控件包含代码块(即 <% ... %>),因此无法修改控件集合。

说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Web.HttpException: 控件包含代码块(即 <% ... %>),因此无法修改控件集合。

源错误:

执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。

堆栈跟踪:


[HttpException (0x80004005): 控件包含代码块(即 <% ... %>),因此无法修改控件集合。]
System.Web.UI.ControlCollection.Add(Control child) +8690743
System.Web.UI.PageTheme.SetStyleSheet() +478
System.Web.UI.Page.OnInit(EventArgs e) +8711500
System.Web.UI.Control.InitRecursive(Control namingContainer) +333
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +378
孟子E章 2012-09-18
  • 打赏
  • 举报
回复
这样就可以啊

<%=who %>
最好 public string who = "";

61,657

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧