extjs/c#Yes保存到数据库
我有一个简单的问题 我有一个带有保存按钮的FormView。单击按钮时,它将保存到数据库 我添加了一个文本消息框来确认用户是否想要保存数据。当他在messagebox的yes按钮上单击yes时,它应该保存数据 我找不到在ext中写入yes按钮逻辑的位置 这是我的密码:extjs/c#Yes保存到数据库,c#,extjs,ext.net,C#,Extjs,Ext.net,我有一个简单的问题 我有一个带有保存按钮的FormView。单击按钮时,它将保存到数据库 我添加了一个文本消息框来确认用户是否想要保存数据。当他在messagebox的yes按钮上单击yes时,它应该保存数据 我找不到在ext中写入yes按钮逻辑的位置 这是我的密码: <asp:FormView ID="myform" runat="server" DataSourceID="mydatasource" DefaultMode="Edit" DataKeyNames="Id"
<asp:FormView ID="myform" runat="server" DataSourceID="mydatasource" DefaultMode="Edit" DataKeyNames="Id" >
<EditItemTemplate>
<asp:TextBox ID="myText" runat="server" TextMode="MultiLine" ClientIDMode="Static"
Text='<%#Bind("xx") %>' />
<ext:Button ID="btn_Update" runat="server" AutoPostBack="false" CausesValidation="false" CommandName="Update" Text="Speichern" StyleSpec="float: left; margin-left:10px;"> <DirectEvents>
<Click OnEvent="btnUpdateClick"></Click>
</DirectEvents>
</ext:Button>
<script type="text/javascript">
function showResult(btn)
{
Ext.example.msg('Button Click', 'You clicked the {0} button', btn);
};
function showResultText(btn, text)
{
Ext.example.msg('Button Click', 'You clicked the {0} button and entered the text "{1}".', btn, text);
}
var showResult = function (btn) {
Ext.Msg.notify("Button Click", "You clicked the " + btn + " button");
};
var showResultText = function (btn, text) {
Ext.Msg.notify("Button Click", "You clicked the " + btn + 'button and entered the text "' + text + '".');
};
</script>
protected void btnUpdateClick(object sender, DirectEventArgs e)
{
X.Msg.Confirm("Confirm", "Are you sure you want to save?", new JFunction { Fn = "showResult" }).Show();
}
函数显示结果(btn)
{
msg('Button Click','您单击了{0}按钮',btn);
};
函数showResultText(btn,文本)
{
msg('Button Click','您单击了{0}按钮并输入了文本“{1}.”,btn,text);
}
var showResult=函数(btn){
Ext.Msg.notify(“点击按钮”,“您点击了“+btn+”按钮”);
};
var showResultText=函数(btn,文本){
Ext.Msg.notify(“单击按钮”,“您单击了“+btn+”按钮并输入了文本“'+text+”);
};
受保护的void btnUpdateClick(对象发送方,DirectEventArgs e)
{
Confirm(“Confirm”,“确定要保存吗?”,新的JFunction{Fn=“showResult”}).Show();
}
我建议不要连接对话框的“是”按钮来执行回发。您应该等待消息框关闭,然后在用户单击“是”时调用回发功能
例如:
Ext.Msg.prompt('SaveChange', 'Would you like to save the changes?:', function(btn, text){
if (btn == 'yes'){
__doPostBack('btnSubmit','OnClick');
}
});
将btnSubmit替换为按钮的名称
尽管上述解决方案是我推荐的方法,但您也可以通过以下方式使用jquery:
$('btnSubmit').trigger('click');
来源:我建议您不要连接对话框的“是”按钮来执行回发。您应该等待消息框关闭,然后在用户单击“是”时调用回发功能 例如:
Ext.Msg.prompt('SaveChange', 'Would you like to save the changes?:', function(btn, text){
if (btn == 'yes'){
__doPostBack('btnSubmit','OnClick');
}
});
将btnSubmit替换为按钮的名称
尽管上述解决方案是我推荐的方法,但您也可以通过以下方式使用jquery:
$('btnSubmit').trigger('click');
来源:我猜您正在寻找这个:(可以放在Sencha API的任何演示框中) 编辑2 我已经完全监督了您是否使用Direct。你应该提到这些事情。 使用DirectEvent有什么理由吗?我无法测试它,但这如何(包装函数可能是不必要的,但是一个普通的ExtJS处理程序获取按钮引用作为第一个参数):
删除的表单示例我想您正在寻找这个:(可以放在Sencha API的任何演示框中) 编辑2 我已经完全监督了您是否使用Direct。你应该提到这些事情。 使用DirectEvent有什么理由吗?我无法测试它,但这如何(包装函数可能是不必要的,但是一个普通的ExtJS处理程序获取按钮引用作为第一个参数):
删除表格示例谢谢大家的支持,我通过你们的答案找到了自己的方法,我将把它放在这里,也许它对某人有用 首先,按钮代码,需要有Isupload=“true” 最后一个将保存到数据库的Yes方法:
[DirectMethod]
public void ClickedYES()
{
Formview.UpdateItem(false);
Formview.DataBind();
}
谢谢大家的支持,我通过你们的答案找到了我的方法,我会把它放在这里,也许它对某人有用 首先,按钮代码,需要有Isupload=“true” 最后一个将保存到数据库的Yes方法:
[DirectMethod]
public void ClickedYES()
{
Formview.UpdateItem(false);
Formview.DataBind();
}
请举例/重新表述您的问题。消息框无法更新任何内容。因此,不清楚您在问什么。消息框中有“是”和“否”按钮(您想保存数据吗),当用户单击“是”时,它应该保存数据,我只是不知道如何保存数据,我现在将提供代码。请提供一个示例/重新表述您的问题。消息框无法更新任何内容。所以不清楚你在问什么。消息框中有“是”和“否”按钮(你想保存数据吗),当用户单击“是”时,它应该保存数据,我只是不知道该怎么做,我现在就提供代码。重点是,我的操作是让按钮执行回发操作,我无法做到这一点。@标记我进行了编辑,以便在单击“是”后触发ajax请求,我的操作是让按钮执行回发操作,我无法做到这一点。@标记我进行了编辑,以便在单击“是”后触发ajax请求,我的操作是让按钮执行回发操作,我无法做到这一点。-1用于将jquery与extjs混淆。没有必要使用两个库,因为jquery对asp.net非常熟悉,它实际上是框架的一部分,我还提供了一个标准的asp.net方法来执行此操作!JQuery只是作为默认值提供的,这是非常好的,因为它是您可以找到的最好的。但这是关于Ext.net的,它是ExtJS驱动的,而不是ASP.netmvc。这与jquery既不相关,也不随jquery一起提供。另一点是,考虑一下应用程序层。。。jQuery只是一个…“嘿,你应该使用这个,因为我们认为它非常适合”。。。删除libs和ASP.net MVC仍然可以正常工作。如果您选择任何其他前端框架,比如ExtJS,则无需保留jQuery。(好的,有一些罕见的情况,但这种情况非常罕见)如果我没有提供纯asp.net解决方案,我会同意。您的解决方案实际上不符合OP的要求。当您通过AJAX提交请求时,OP希望在单击对话框“Yes”按钮时以编程方式单击一个按钮。这在所有情况下都不是一回事。我觉得你的反对意见是战术性的,而不是坚定的具体技术性的。无论如何,我会更新我的答案
[DirectMethod]
public void ClickedYES()
{
Formview.UpdateItem(false);
Formview.DataBind();
}