我在为一个我能找到解决办法的问题而挣扎。
首先,我不能使用asp.net AJAX或任何其他thant标准的asp.net 2.0,因为服务器管理员不会安装其他任何东西。
所以,我想做的就是。(对于好奇的,跳到下面的粗体问题)
我的页面由几个部分组成,每个部分都由jquery.load(url)加载。其中一个页面部件会被包含表单视图的aspx填充。由于我不希望有回发,我切换到表单视图的EditTemplate,只需简单地点击一个常规的html按钮,该按钮提交一个指示aspx页面切换到编辑模式的参数。
Page_Load(...)
{
if(Request.Params["SwitchEditMode"]) SwitchEditMode();
}
这是完美的!现在我被困在这里。EditTemplate中的元素基于数据库视图中的select,并通过<%# Bind("xx")
绑定到字段。然后我有一个html按钮(没有asp控件),它向aspx页面提交一个参数,该页面告诉它调用DataSource更新方法。在dataSource_updating方法中,我查找包含要保存的值的控件。但这些值总是相同的,就像切换到编辑视图时一样。我在文本框或下拉列表中所做的任何更改都不会被保留。
一个长话短说的问题,如何使用jquery?将值从EditTemplate保存回数据库
到目前为止,我尝试了几种方法,但都没有成功。
e.Command.Parameter["xyz"] = foundcontrol.SelectedValue;
。这些值总是与beginning.<asp:parameter name="SampleValue" />
中的值相同,而在EditTemplate <asp:TextBox Value='<%# Bind("SampleValue")#>
中,值总是为null。之后才可见。
所以,也许我的想法完全错了,走向一个完全错误的方向,这可以更容易地完成,但到目前为止,我不知道如何实现这一点。我可以不使用ajax来完成这个任务,但是对于用户体验,我更喜欢使用jquery的版本。
感谢那些读了这么多的书,并且没有感到困惑:-),谢谢你的努力!
诚挚的问候,
安德烈亚斯
发布于 2009-09-01 15:57:16
我会忘记使用表单视图,而只使用带有常规输入控件的常规html表单。从包含所有值的web服务中返回一个对象,并使用ajax填充控件,然后使用ajax填充subjmit。要么完全执行asp.net,要么使用asmx后端执行完全html/jquery。否则就太让人困惑了。
发布于 2009-09-01 12:53:16
如果使用AJAX将FormView的两种“模式”加载到同一个页面中,则可能会得到重复的字段名。其中一个包含正在保存的未更改的值。ASP.NET如何才能知道两者的区别?您只想提交来自EditTemplate的那些,这将需要一个单独的表单(或其他一些黑客)。
或者您的HTML按钮没有给ASP.NET重新填充控件所需的信息。您是否在页面中与ViewState一起使用FormView?
总之,这听起来像是技术的多毛组合.如你所知。
https://stackoverflow.com/questions/1364570
复制相似问题