这是formview中 的按钮,也绑定了数据源sqldatasource
<asp:Button ID="btnemail" runat="server" Text="Submit Without An Email" />
<asp:Button ID="Button1" runat="server" CausesValidation="True" CommandName="Insert"
Text="Submit" />button1已经实现了我要的功能。SqlDataSource1_Inserted我提交了数据库,并发出了邮件。
现在想btnemail按钮也可以直接将数据提交数据库,但是不发邮件了。
我只想到再写bunemail_click事件,再写方法把数据入库。
有没有也和button1一样的简单的方法。
<asp:Button ID="btnemail" runat="server" Text="Submit Without An Email" />
<asp:Button ID="Button1" runat="server" CausesValidation="True" CommandName="Insert"
Text="Submit" />button1已经实现了我要的功能。SqlDataSource1_Inserted我提交了数据库,并发出了邮件。
现在想btnemail按钮也可以直接将数据提交数据库,但是不发邮件了。
我只想到再写bunemail_click事件,再写方法把数据入库。
有没有也和button1一样的简单的方法。
解决方案 »
- asp.net 用 WebBrowser 控件如何控制只打印(预览)选定部分
- access数据库的问题,求助~~~~~~~~~~~~~~~~~~~~~~~
- 调试超卡,非调试一点都不卡~!怎么办?
- 自动发送邮件的问题 请高手帮帮忙!
- 如何统计出用户在表中的记录总和,应该是COUNT的问题吧,SQL代码如何,请帮助
- 当Button控件的onClick事件触发时怎么先执行一段客户端的JS代码,再执行服务器端的关于onClick的函数?????
- 非常简单的问题,在线等……
- 怎么在win7 Safari 苹果浏览器上 用div遮住flash插件
- 如何以编程方式创建master的内容页?
- 请教Guid.NewGuid() 与 InsertParameters 的问题?
- 使用rdlc是如果结合数据库字段和常量来显示
- VS2008如何显示手动添加的目录?
只要将btnemail的CommandName设置成insert就可以和Button1一样有保存到数据库的功能!
即:
<asp:Button ID="btnemail" runat="server" Text="Submit Without An Email" CommandName="Insert" />
{
}
bunemail_click(sender object,EventAgs e)
{
InsertDb("1");}
btn1_click(sender object,EvenAgs e)
{
if(InsertDb("1"))
{
SendEmail();
}
}
LS的都正解,解决的方法很多,看女程序员MM怎么解决了
btnemail和Button1是在同一的<InsertItemTemplate>模板中,
后台代码:
protected void CRMMessageDataSource_Inserted(object sender, SqlDataSourceStatusEventArgs e)
{
CRM_Phone_MessagesTableAdapter PM = new CRM_Phone_MessagesTableAdapter();
int NewID = Convert.ToInt32(e.Command.Parameters["@NewID"].Value);
DataTable dt = PM.GetDataByID(NewID);
CRM.CRM_Phone_MessagesRow row = (CRM.CRM_Phone_MessagesRow)dt.Rows[0];
string Message = "Contact Name:" + row.FirstName + " " + row.LastName + "<br/>";
Message += "Message: " + row.Message;
util.SendMail(Message, row.Services, "New Contact Lead", "[email protected]");
邮件是这么发出去的。我写的那个btnemail就是不需要发的,可是无从下手了。
别的已经没有代码了。
<asp:Button ID="Button1" runat="server" CausesValidation="True" CommandName="Insert"
Text="Submit" />
只是为了触发那个事件而已啊。<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:CLIMS_CRMConnectionString1 %>"
InsertCommand="INSERT INTO [CRM_Phone_Messages] ([FirstName], [LastName], [Institution], [State], [Phone], [PI_Name], [Email], [Message], [Services], [Entry_By], [Entry_Date], [Pricing_List], [Service_information], [Sequencing], [Plasmid], [PCR_Product], [Colony], [Phage], [Difficult_Template], [MB], [Cloning], [Fragment_Analysis], [Mutagenesis], [Plasmid_DNA_Prep], [Gene_Synthesis], [Other], [Others], [hear]) VALUES (@FirstName, @LastName, @Institution, @State, @Phone, @PI_Name, @Email, @Message, @Services, @Entry_By, @Entry_Date, @Pricing_List, @Service_information, @Sequencing, @Plasmid, @PCR_Product, @Colony, @Phage, @Difficult_Template, @MB, @Cloning, @Fragment_Analysis, @Mutagenesis, @Plasmid_DNA_Prep, @Gene_Synthesis, @Other, @Others, @hear);Select @NewID=Scope_Identity();"
SelectCommand="SELECT * FROM [CRM_Phone_Messages]" OnInserted="SqlDataSource1_Inserted"
DeleteCommand="DELETE FROM [CRM_Phone_Messages] WHERE [ID] = @ID" UpdateCommand="UPDATE [CRM_Phone_Messages] SET [FirstName] = @FirstName, [LastName] = @LastName, [Institution] = @Institution, [State] = @State, [Phone] = @Phone, [PI_Name] = @PI_Name, [Email] = @Email, [Message] = @Message, [Services] = @Services, [Entry_By] = @Entry_By, [Entry_Date] = @Entry_Date, [Pricing_List] = @Pricing_List, [Service_information] = @Service_information, [Sequencing] = @Sequencing, [Plasmid] = @Plasmid, [PCR_Product] = @PCR_Product, [Colony] = @Colony, [Phage] = @Phage, [Difficult_Template] = @Difficult_Template, [MB] = @MB, [Cloning] = @Cloning, [Fragment_Analysis] = @Fragment_Analysis, [Mutagenesis] = @Mutagenesis, [Plasmid_DNA_Prep] = @Plasmid_DNA_Prep, [Gene_Synthesis] = @Gene_Synthesis, [Other] = @Other, [Others] = @Others, [hear] = @hear WHERE [ID] = @ID">
你把btnemail加上CommandName="Insert",CommandArgument=2. Button1加上CommandArgument=1
然后把
protected void CRMMessageDataSource_Inserted(object sender, SqlDataSourceStatusEventArgs e)
{
代码块A;
}这个事件中的代码块A剪贴出来,放到
protected void FormView1_ItemCommand(object sender, FormViewCommandEventArgs e)
{
if(e.CommandName.Equals("Insert")||e.CommandArgument.ToString().Equals("1")){
代码块A;
}
}应该就可以了
这个得不到值了。
protected void FormView1_ItemCommand(object sender, FormViewCommandEventArgs e)
{
if(e.CommandName.Equals("Insert")||e.CommandArgument.ToString().Equals("1")){
isMail=true;
}
}
然后
protected void CRMMessageDataSource_Inserted(object sender, SqlDataSourceStatusEventArgs e)
{
if(isMail){
代码块A;
}
}这样试下。。
btnemail加上CommandName="Insert"后,
可以触发ItemCommand,Inserting和Inserted事件,
你的mail代码就可以放在该事件中,
你的mail希望在什么事件下执行,还需要什么数据,请明示!!
那啥,过奖了。。
我从看到你这问题研究一下午了,话说我刚毕业来着。
以前从来没用过SQLDATASOURCE的。。(自恋ING。。)
那还要有这个值呢。 int NewID = Convert.ToInt32(e.Command.Parameters["@NewID"].Value);
这个得不到值了。之前可以得到值?
(object sender, FormViewCommandEventArgs e)水区我发帖子了。你去下。