c# - 从 javascript 调用 c# 函数背后的代码

标签 c# javascript entity-framework

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

环境:使用 c#、javascript、jquery、sql server 和 Entity Framework 的 .Net 4 网络应用程序。

问题:我需要能够允许用户将值“快速添加”到绑定(bind)到下拉框的表格中,而不会丢失用户已经输入到当前页面的值。我不在乎我是否必须执行回发或使用 jquery 或使用 ajax 等。我首先需要功能 - 稍后是漂亮......如果您愿意继续阅读,请在下面描述该场景。综上所述,我希望这对用户来说是流畅的而不是“笨拙”的。

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

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

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

有道理吗?

最佳答案

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

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

UpdatePanels 的魔力将确保这一切都是异步的,因此不会打扰在页面上工作的用户。

关于c# - 从 javascript 调用 c# 函数背后的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9983043/

相关文章:

c# - C# 中带有 Dispose() 的终结器

c# - 如何在 C# 中使用 Expression.IfThenElse

c# - 使用 RSA/ECB/PKCS1Padding 的 .Net 加密和 java 解密

javascript - 将 Markdown 解析委托(delegate)给客户端有什么缺点?

c# - DbContext继承更新-数据库错误

c# - 使用 winform 实现观察者模式

javascript - 追加数据表成功,但 ad 部分消失了

javascript - Safari 不会在溢出的 SVG 内容上发出指针事件

asp.net-mvc-3 - 实体和派生 View 模型 - 仅更新公共(public)属性

C# Entity Framework 保存具有多对多导航属性的记录