关于ajax数据绑定
c#.net页面中用了AJAX方法后无法进行数据绑定,
请问有何解决良方?
贴出代码如下:
[AjaxPro.AjaxMethod()]
public void bagtoCart(string selectvalue,string style,string num,string id)
{
if (ViewState["order"] == null)
ViewState["order"] = new ArrayList();
BLL.Product bll = new BLL.Product();
model = bll.GetModel(int.Parse(id));
DataSet ds = AccessHelper.ExecuteDataSet(AccessHelper.Connection, "select * from packbag where id=" + selectvalue);
DataView dv = ds.Tables[0].DefaultView;
string category = "包装袋";
string pname = dv[0].Row["packbagname"].ToString();
decimal price = decimal.Parse(dv[0].Row["packbagprice"].ToString());
if (style == "0")
{
style = "20";
}
if (num == "")
{
num = "1";
}
int ordernum = (int.Parse(num) * 1000) / (int.Parse(style));
decimal sumprice = ordernum * price;
((ArrayList)ViewState["order"]).Add("茶叶" + "|" + model.P_Famous + "|" + model.P_I_Rate1 + "|" + num + "|" + int.Parse(num) * model.P_I_Rate1);
((ArrayList)ViewState["order"]).Add(category + "|" + pname + "|" + price + "|" + ordernum + "|" + sumprice);
rptorderbind();
}
/// <summary>
/// 订单绑定
/// </summary>
private void rptorderbind()
{
DataTable oDT = new DataTable();
oDT.Columns.Add("category"); oDT.Columns.Add("pname"); oDT.Columns.Add("price"); oDT.Columns.Add("num"); oDT.Columns.Add("sumprice");
DataRow oDR;
if (!object.Equals(ViewState["order"], null))
{
ArrayList arr = (ArrayList)ViewState["order"];
for (int i = 0; i < arr.Count; i++)
{
string[] arrorder = arr[i].ToString().Split('|');
oDR = oDT.NewRow();
oDR["category"] = arrorder[0];
oDR["pname"] = arrorder[1];
oDR["price"] = arrorder[2];
oDR["num"] = arrorder[3];
oDR["sumprice"] = arrorder[4];
oDT.Rows.Add(oDR);
}
}
Rptorder.DataSource = oDT.DefaultView;
Rptorder.DataBind();
}
结果执行到
Rptorder.DataSource = oDT.DefaultView;
就断掉了...
再也执行不下去...
帮帮我吧...
这个鸟东西搞了很久了...
还没搞好...
只要能解决问题多少分都给...
顺便把前台JS也贴下
<script type="text/javascript">
function toCart() {
var packbag = document.getElementsByName("packbag");
var selectvalue = -1;
for (i = 0; i < packbag.length; i++) {
if (packbag[i].checked) {
selectvalue = packbag[i].value;
}
}
if (selectvalue < 0) {
alert('你没有选择任何项');
}
var id = '<%=Request["ID"] %>';
var style = document.getElementById('<%=style.ClientID %>').value;
var num = document.getElementById('<%=num.ClientID %>');
var number = num.value;
Product_detail.bagtoCart(selectvalue, style,number,id);
}
</script>
pageload里面类注册
AjaxPro.Utility.RegisterTypeForAjax(typeof(Product_detail));