如何通过查询字符串传递和检索Html标记

时间:2012-07-25 06:11:11

标签: javascript jquery asp.net vb.net query-string

Default.aspx的

<script type="text/javascript">
    $(function() {
$("#add_questions").click(function() {
var question = $("#wmd-output").val();
var option1 = $("#option1").val();
var option2 = $("#option2").val();
var option3 = $("#option3").val();
var option4 = $("#option4").val();
var answer = $("#answer").val();
var paper = $("#txt_subject_id").val();
var dataString = 'question='+ question +'&option1='+option1 +'&option2='+option2 +'&option3='+option3 +'&option4='+option4 +'&answer='+answer+'&paper='+paper;

$("#flash").show();
$("#flash").fadeIn(400).html('<img src="../images/validate.gif" align="absmiddle">');
//alert(dataString)

$.ajax({
type: "GET",
url: "Default2.aspx",
data: dataString,
cache: false,
success: function(html){
$("#display").after(html);
//alert(html)
//document.getElementById('content').value='';
//document.getElementById('content').focus();
$("#flash").hide();
}
});
 return false;
});
});

</script>

dataString="question=p>hello</p>&option1=option1&option2=option2&option3=option3&option4=option4&answer=answer&paper=paper"

如何使用jquery将此查询字符串传递给下一页?我没有收到下一页的回复,这意味着question=<p>hello</p>没有获得价值。

Default2.aspx

Dim question As String
question = Request.QueryString("question")
Response.Write(question)

我还尝试了encodeUriencodeURIcomponent

3 个答案:

答案 0 :(得分:2)

你说你试试encodeURIcomponent,但我担心你在全线上应用它。您必须单独将encodeURIcomponent应用于每个值,以使其工作为:

var dataString = 'question='+ encodeURIcomponent(question) +'&option1='+ 
  encodeURIcomponent(option1) +'&option2='+ encodeURIcomponent(option2) +'&option3='+ 
   encodeURIcomponent(option3) +'&option4='+ encodeURIcomponent(option4) +'&answer='+ 
     encodeURIcomponent(answer)+'&paper='+ encodeURIcomponent(paper);

另外,您是否检查过您是否读过var question = $("#wmd-output").val();的值? "#wmd-output"是正确的,还是需要添加呈现的客户端ID?

答案 1 :(得分:1)

首先感谢大家的努力。

这就是我做的

question=encodeURIComponent(question)
var dataString = 'question='+ encodeURIComponent(question) +'&option1='+ option1 +'&option2='+ option2 +'&option3='+ option3 +'&option4='+ option4 +'&answer='+ answer +'&paper='+ paper;

我曾两次使用encodeURIComponent并在服务器端进行解码

quest = Server.UrlDecode(question)

显示正确的值。

再次感谢您的帮助!!

答案 2 :(得分:-1)

我恐怕你不能通过querystring传递HTML。您可以改用Session。您可以将HTML存储在字符串变量中并将其存储在Session中。在下一页上,您可以从Session中检索它。

Session.Add("myHTML","<p></p>");

在下一页加载

String html = Session["myHTML"].ToString();