繁体   English   中英

从JavaScript调用C#函数背后的代码

[英]Call code behind c# function from javascript

我知道有人问过这个问题,但是众多答案都不符合我的情况。 因此,我会谦虚地问,是否有人可以再次温柔地引导我进行此操作。

环境:.net 4 Web应用程序,使用c#,javascript,jquery,sql服务器和实体框架。

问题:我需要允许用户将值“快速添加”到绑定到下拉框的表中,而不会丢失用户已经输入到当前页面的值。 我不在乎是否必须执行回发或使用jquery或使用ajax等。我首先需要功能-稍后需要美化...如果您希望继续阅读,请在下面描述该方案。 话虽这么说,我希望它对用户来说是平滑的而不是“笨拙的”。

场景:我有一个页面,用户可以在其中将很多信息输入到文本框,静态下拉框和绑定到其他表的下拉框中,这些表将全部合并并插入到一个表中。 好吧,它永远不会失败,用户可以填写页面,并且当他们到达一个表绑定下拉框时-缺少值或尚未添加任何项目。 我想在该下拉框旁边添加一个按钮或链接或其他内容,以使用户可以“快速添加”一个项目到填充该下拉框的表中,然后刷新该下拉框,以便他们可以选择列表中的新值...所有这些都不会丢失他们已经输入的屏幕上的其他数据。

我试过的:-尝试过WebMethod选项。 当前,该网页在后面的代码中调用一些自定义的“绑定”方法来填充下拉框,因此不会直接从实体框架的对象中填充它们。 因此这意味着使用静态方法将不适用于解决方案,因为静态函数的一部分将需要调用bind方法以使用新插入的值刷新下拉框。

-尝试使用PageMethod选项。 其他一些示例使用了“页面方法”设置,但是我的网站使用的是母版页和内容页面,这些帖子似乎表明该页面方法路由无法正常工作。

说得通?

UpdatePanel添加到页面。 更新面板应包装要添加的下拉菜单,以及用于在该下拉菜单中添加新条目的文本框/按钮。 您可能希望每个下拉/按钮对都有一个不同的UpdatePanel(如果适用)。

当他们单击更新面板内部的按钮时,您可以阅读文本框,在下拉列表中添加一个额外的项目,然后将更新发送到数据库。 (如果可能的话,我会手动将新值添加到下拉列表中,而不是更新数据库并重新绑定,但这可能不是。)

UpdatePanels的魔力在于确保所有这些都是异步的,因此不会打扰用户在页面上工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM