2016-07-25 59 views
0

我有两个页面customer.aspx和customer_detail.aspc,每个页面都有相应的代码隐藏文件。目标是能够将特定的表单元格的值从客户发送到customer_detail。例如,以下JavaScript基于customer.aspx.cs文件中的BindTable方法动态地将表格呈现到customer.aspx上。 customer.aspx:C#从一个页面发送表格单元格数据到另一个页面

<script type="text/javascript"> 
     $(document).ready(function() { 
      $.ajax({ 
       type: "POST", 
       contentType: "application/json; charset=utf-8", 
       url: "customer.aspx/BindCustomer", 
       data: "{}", 
       dataType: "json", 
       success: function(data) { 
        for (var i = 0; i < data.d.length; i++) { 
         $("#customer_table").append("<tr><td>"+'<a id = "anchor" href="customer_individual.aspx">' + data.d[i].customer_name +'</a>'+ "</td><td>" + data.d[i].customer_id +"</td><td>" + data.d[i].total_value + "</td><td>" + data.d[i].created_date + "</td></tr>"); 
        } 
       }, 
       error: function(result) { 
       alert("Error"); 
       } 
      }); 
     }); 

上述BindCustomer功能是一个用customer.aspx.cs一个WebMethod,它返回一个客户阵列对象,顾客[],它被绑定到CUSTOMER_TABLE。注意,在上面,我在表的第一个td元素中有一个href,它将页面重定向到customer_detail.aspx。

目标是在单击customer_detail.aspx.cs链接后发送一个customer_name值,以便我可以查询单独存储的客户对象,并使用名称并相应地填充页面。什么是最好的方法来完成这个?有关如何进行的任何建议将非常有帮助!

+0

当你说,'发送数据到'页面,你的意思是重定向用户到该页面并显示或以某种方式引用该数据? –

+0

是的,目前的链接工作,其中'customer_detail'页面包含一些静态字段,如文本框和标签。用户需要重定向到页面以及值data.d [i] .customer_name,然后我可以使用它填充customer_detail页面上的文本框 – skarred14

+0

然后,这就是它的全部内容。只需将想要传递的值附加到查询字符串中的网址即可。 –

回答

0

最简单的方法就是格式化的链接与你想在这样的查询字符串来传递数据给customer_detail.aspx(它看起来非常相似,你已经做什么。)

<a href="/customer_detail.aspx?customerName=dataYouWantToPass">Link</a> 

当加载customer_detail.aspx时,您从查询字符串中检索值。

在你Page_Load事件customer_detail.aspx

var customerName = Request["customerName"]; 

你可以更具体的说Request.Querystring["customerName"],但这个页面上,你可能不关心的值是否在查询字符串或表单域通过。 Request["customerName"]涵盖了两个。

+0

明白了..我正在尝试这种方法。同样的事情适用于传递推导值吗?我的意思是我想传入data.d [i] .customer_name的动态值,它是在创建customer.aspx数据表期间创建的。特别是,这是否适用? Link,其中上面的链接的值是data.d [i] .customer_name – skarred14

+0

Hannan:能够使用上面建议的方法传递静态文本,并且能够在第二页上检索该文本。 。你能建议我如何检索这个动态文本吗?我试过如下:Modfying的HREF为:$( “#patient_table”)追加( “​​”+ '' + data.d[i].patient_name + '' +“​​”+“”);并在相同的document.ready:$(“a”)。prop(“href”,function(){return this.href + = $ .trim($(this).text());});我尝试了内联:onclick =“window.location.href = this.href + $ .trim($(this).text()); 建议? – skarred14

+0

你不能传递这样的函数 - 只是一个静态值。但是它更好,Customer_detail.aspx不需要知道参数来自哪里,它只是有它的输入(参数)并做它的事情。 –

相关问题