не может получить данные из элемента управления textbox для сущностей liqtosql - PullRequest
0 голосов
/ 16 мая 2019

У меня есть метод отправки данных со стороны клиента сущности linqtosql. Как бы то ни было, я не могу получить некоторые значения элементов управления вводом. вот мой метод.

protected void btn_save_Click(object sender, EventArgs e)
    {
        List<string> file_names = new List<string>();
        string ToUser = txt_ComName3.Text.Trim();
        char touser1 = Convert.ToChar(ToUser.Substring(ToUser.Length - 1, 1));
        string Cc = null;
        if (!string.IsNullOrEmpty(txt_ComName4.Text.Trim()))
        {
            Cc = txt_ComName4.Text.Trim();
        }
        string Bcc = null;
        if (!string.IsNullOrEmpty(txt_ComName5.Text.Trim()))
        {
            Bcc = txt_ComName5.Text.Trim();
        }
        char? cc1 = null;
        if (!string.IsNullOrEmpty(Cc))
        {
            cc1 = Convert.ToChar(Cc.Substring(Cc.Length - 1, 1));
        }
        char? bcc1 = null;
        if (!string.IsNullOrEmpty(Bcc))
        {
            bcc1 = Convert.ToChar(Bcc.Substring(Bcc.Length - 1, 1));
        }
        bool FileAttached;
        if (FileUpload1.HasFile)
        {
            FileAttached = true;
        }
        else
        {
            FileAttached = false;
        }
        int templateId = 0;
        if (!string.IsNullOrEmpty(template_id.Value.Trim()))
        {
            templateId = Convert.ToInt32(template_id.Value.ToString());
        }
        else
        {
            templateId = 0;
        }
        using (DataClassesDataContext db = new DataClassesDataContext())
        {
            string Email = db.FromUsers.Where(f => f.EmailAddress.Equals(txt_ComName2.Text.Trim()) && f.user_id.Equals(int.Parse(CommonLogic.GetSessionValue("user_id").ToString()))).Select(f => f.EmailAddress).FirstOrDefault();
            string Host = db.FromUsers.Where(f => f.EmailAddress.Equals(txt_ComName2.Text.Trim()) && f.user_id.Equals(int.Parse(CommonLogic.GetSessionValue("user_id").ToString()))).Select(f => f.Host).FirstOrDefault();
            string Port = db.FromUsers.Where(f => f.EmailAddress.Equals(txt_ComName2.Text.Trim()) && f.user_id.Equals(int.Parse(CommonLogic.GetSessionValue("user_id").ToString()))).Select(f => f.Port).FirstOrDefault().ToString();
            string Password = db.FromUsers.Where(f => f.EmailAddress.Equals(txt_ComName2.Text.Trim()) && f.user_id.Equals(int.Parse(CommonLogic.GetSessionValue("user_id").ToString()))).Select(f => f.Password).FirstOrDefault();
            bool EnableSSl = db.FromUsers.Where(f => f.EmailAddress.Equals(txt_ComName2.Text.Trim()) && f.user_id.Equals(int.Parse(CommonLogic.GetSessionValue("user_id").ToString()))).Select(f => f.EnableSSL).FirstOrDefault();
            if ((String)Session["new_flag"] == "True")
            {
                var searchfromuser = db.FromUsers.Where(f => f.EmailAddress.Equals(txt_ComName2.Text.Trim()) && f.user_id.Equals(int.Parse(CommonLogic.GetSessionValue("user_id").ToString()))).Select(f => f).FirstOrDefault();
                if (searchfromuser != null)
                {
                    int fromuserid = int.Parse(searchfromuser.Id.ToString());
                    Email myEmail = new Email();
                    myEmail.Title = txt_ComName1.Text.Trim();
                    myEmail.IsDraft = false;
                    myEmail.FromUser = fromuserid;
                    myEmail.ToUser = (touser1 == ',') ? ToUser.TrimEnd(',') : ToUser;
                    if (!string.IsNullOrEmpty(Cc))
                    {
                        myEmail.Cc = (cc1 == ',') ? Cc.TrimEnd(',') : Cc;
                    }
                    if (!string.IsNullOrEmpty(Bcc))
                    {
                        myEmail.Bcc = (bcc1 == ',') ? Bcc.TrimEnd(',') : Bcc;
                    }
                    myEmail.Body = CKEditor1.Text.Trim();
                    myEmail.IsFileAttached = FileAttached;
                    myEmail.SentDateTime = DateTime.Now;
                    myEmail.user_id = int.Parse(CommonLogic.GetSessionValue("user_id").ToString());
                    db.Emails.InsertOnSubmit(myEmail);
                    db.SubmitChanges();
                    int newId = int.Parse(myEmail.Id.ToString());
                    HttpFileCollection fileCollection = Request.Files;
                    double tot_file_size = 0;
                    for (int i = 0; i < fileCollection.Count; i++)
                    {
                        File myFile = new File();
                        HttpPostedFile uploadfile = fileCollection[i];
                        string fileTitle = Path.GetFileName(uploadfile.FileName);
                        string fileName = DateTime.Now.ToString("ddMMyyyy_HHmmss");
                        string fileType = System.IO.Path.GetExtension(fileTitle).ToString().ToLower();
                        myFile.Email_Id = newId;
                        myFile.File_Title = fileTitle;
                        myFile.File_name = fileName;
                        myFile.File_ext = fileType;
                        double file_size = int.Parse(uploadfile.ContentLength.ToString()) / 1024;
                        tot_file_size += file_size;
                        myFile.File_Size = file_size;
                        if (uploadfile.ContentLength > 0)
                        {
                            uploadfile.SaveAs(Server.MapPath("~/EmailFiles/") + fileName + fileType);
                            db.Files.InsertOnSubmit(myFile);
                            db.SubmitChanges();
                            file_names.Add(fileName + fileType);
                        }
                    }
                    db.UpdateEmailField(newId, "TotalFileSize", tot_file_size.ToString());
                    string sbody = ConvertAllString(CKEditor1.Text.Trim());
                    DAL_General.SendReplyMail(newId, txt_ComName1.Text.Trim(), Host, Port, EnableSSl, Email, Password, (touser1 == ',') ? ToUser.TrimEnd(',') : ToUser, (cc1 == ',') ? Cc.TrimEnd(',') : Cc, (bcc1 == ',') ? Bcc.TrimEnd(',') : Bcc, sbody, file_names.ToList(), int.Parse(CommonLogic.GetSessionValue("user_id").ToString()), templateId);
                    int Subcount = 0;
                    string toUser = (touser1 == ',') ? ToUser.TrimEnd(',') : ToUser;
                    if (toUser.Contains(","))
                    {
                        string[] values = ToUser.Split(new char[] { ',', ' ' }, StringSplitOptions.RemoveEmptyEntries);
                        for (int s = 0; s < values.Length; s++)
                        {
                            Subcount++;
                        }
                    }
                    else
                    {
                        Subcount = 1;
                    }
                    string Ccs = (cc1 == ',') ? Cc.TrimEnd(',') : Cc;
                    if (!string.IsNullOrEmpty(txt_ComName4.Text.Trim()))
                    {
                        string[] values1 = Ccs.Split(new char[] { ',', ' ' }, StringSplitOptions.RemoveEmptyEntries);
                        for (int c = 0; c < values1.Length; c++)
                        {
                            Subcount++;
                        }
                    }
                    string Bccs = (bcc1 == ',') ? Bcc.TrimEnd(',') : Bcc;
                    if (!string.IsNullOrEmpty(txt_ComName5.Text.Trim()))
                    {
                        string[] values2 = Bccs.Split(new char[] { ',', ' ' }, StringSplitOptions.RemoveEmptyEntries);
                        for (int b = 0; b < values2.Length; b++)
                        {
                            Subcount++;
                        }
                    }
                    db.ExecuteCommand(@"UPDATE [dbo].[tbl_From_master] SET [SentDateTime] = GETDATE() WHERE [Id]='" + fromuserid + "'");
                    db.ExecuteCommand(@"UPDATE [dbo].[tbl_From_master] SET [Count] = '" + Subcount + "' WHERE [Id]='" + fromuserid + "'");
                    var loggedMessage = db.LoggedMessages.Where(l => l.email_id.Equals(newId)).Select(l => l).ToList();
                    foreach (var message in loggedMessage)
                    {
                        if (message.Sent == true)
                        {
                            ShowAlert("Mail Sent Successfully.", this);
                        }
                        else if (message.Sent == false)
                        {
                            ShowAlert(message.SmtpException.ToString() + "&nbsp;&nbsp;" + message.InnerExceptionDetails.ToString(), this);
                        }
                    }
                }
                else
                {
                    ShowAlert("From User doesn't exist in record.", this);
                }
            }
            else if ((String)Session["new_flag"] == "False")
            {
                var searchfromuser = db.FromUsers.Where(f => f.EmailAddress.Equals(txt_ComName2.Text.Trim()) && f.user_id.Equals(int.Parse(CommonLogic.GetSessionValue("user_id").ToString()))).Select(f => f).FirstOrDefault();
                if (searchfromuser != null)
                {
                    int fromuserid = int.Parse(searchfromuser.Id.ToString());
                    db.UpdateEmail(int.Parse(email_id.Value.ToString()), txt_ComName1.Text.Trim(), fromuserid, (touser1 == ',') ? ToUser.TrimEnd(',') : ToUser, (cc1 == ',') ? Cc.TrimEnd(',') : Cc, (bcc1 == ',') ? Bcc.TrimEnd(',') : Bcc, CKEditor1.Text.Trim(), FileAttached, DateTime.Parse(System.DateTime.Now.ToString()));
                    db.SubmitChanges();
                    HttpFileCollection fileCollection = Request.Files;
                    double tot_file_size = 0;
                    for (int i = 0; i < fileCollection.Count; i++)
                    {
                        File myFile = new File();
                        HttpPostedFile uploadfile = fileCollection[i];
                        string fileTitle = Path.GetFileName(uploadfile.FileName);
                        string fileName = DateTime.Now.ToString("ddMMyyyy_HHmmss");
                        string fileType = System.IO.Path.GetExtension(fileTitle).ToString().ToLower();
                        myFile.Email_Id = int.Parse(email_id.Value.ToString());
                        myFile.File_Title = fileTitle;
                        myFile.File_name = fileName;
                        myFile.File_ext = fileType;
                        double file_size = int.Parse(uploadfile.ContentLength.ToString()) / 1024;
                        tot_file_size += file_size;
                        myFile.File_Size = file_size;
                        if (uploadfile.ContentLength > 0)
                        {
                            uploadfile.SaveAs(Server.MapPath("~/EmailFiles/") + fileName + fileType);
                            db.Files.InsertOnSubmit(myFile);
                            db.SubmitChanges();
                            file_names.Add(fileName + fileType);
                        }
                    }
                    var fileNames = db.Files.Where(f => f.Email_Id.Equals(int.Parse(email_id.Value.ToString()))).Select(f => f).ToList();
                    if (fileNames.Count > 0)
                    {
                        foreach (var item in fileNames)
                        {
                            file_names.Add(item.File_name.ToString() + item.File_ext.ToString());
                        }
                    }
                    db.UpdateEmailField(int.Parse(email_id.Value.ToString()), "TotalFileSize", tot_file_size.ToString());
                    string sbody = ConvertAllString(CKEditor1.Text.Trim());
                    DAL_General.SendReplyMail(int.Parse(email_id.Value.ToString()), txt_ComName1.Text.Trim(), Host, Port, EnableSSl, Email, Password, (touser1 == ',') ? ToUser.TrimEnd(',') : ToUser, (cc1 == ',') ? Cc.TrimEnd(',') : Cc, (bcc1 == ',') ? Bcc.TrimEnd(',') : Bcc, sbody, file_names.ToList(), int.Parse(CommonLogic.GetSessionValue("user_id").ToString()), templateId);
                    int Subcount = 0;
                    string toUser = (touser1 == ',') ? ToUser.TrimEnd(',') : ToUser;
                    if (toUser.Contains(","))
                    {
                        string[] values = ToUser.Split(new char[] { ',', ' ' }, StringSplitOptions.RemoveEmptyEntries);
                        for (int s = 0; s < values.Length; s++)
                        {
                            Subcount++;
                        }
                    }
                    else
                    {
                        Subcount = 1;
                    }
                    string Ccs = (cc1 == ',') ? Cc.TrimEnd(',') : Cc;
                    if (!string.IsNullOrEmpty(txt_ComName4.Text.Trim()))
                    {
                        string[] values1 = Ccs.Split(new char[] { ',', ' ' }, StringSplitOptions.RemoveEmptyEntries);
                        for (int c = 0; c < values1.Length; c++)
                        {
                            Subcount++;
                        }
                    }
                    string Bccs = (bcc1 == ',') ? Bcc.TrimEnd(',') : Bcc;
                    if (!string.IsNullOrEmpty(txt_ComName5.Text.Trim()))
                    {
                        string[] values2 = Bccs.Split(new char[] { ',', ' ' }, StringSplitOptions.RemoveEmptyEntries);
                        for (int b = 0; b < values2.Length; b++)
                        {
                            Subcount++;
                        }
                    }
                    db.ExecuteCommand(@"UPDATE [dbo].[tbl_From_master] SET [SentDateTime] = '" + DateTime.Now.Date.ToString() + "' WHERE [Id]='" + fromuserid + "'");
                    db.ExecuteCommand(@"UPDATE [dbo].[tbl_From_master] SET [Count] = '" + Subcount.ToString() + "' WHERE [Id]='" + fromuserid + "'");
                    var loggedMessage = db.LoggedMessages.Where(l => l.email_id.Equals(int.Parse(email_id.Value.ToString()))).Select(l => l).ToList();
                    foreach (var message in loggedMessage)
                    {
                        if (message.Sent == true)
                        {
                            ShowAlert("Mail Sent Successfully.", this);
                        }
                        else if (message.Sent == false)
                        {
                            ShowAlert(message.SmtpException.ToString() + "&nbsp;&nbsp;" + message.InnerExceptionDetails.ToString(), this);
                        }
                    }
                }
            }
            Panel_AddNew.Visible = false;
            Panel_ViewList.Visible = true;
            Get_Data(Session["commandName"].ToString());
        }
    }

здесь я не могу получить данные из txt_ComName1.Text и CKEditor1.Text, оба находятся в панели обновления. и вот разметка там:

<div class="portlet-body bordered" style="text-align: right;">
                                    <asp:Button ID="btn_saveAsdraft" runat="server" CssClass="btn blue"
                                        OnClientClick="return validate();" ValidationGroup="AddNewMail" Text="Save As Draft" OnClick="btn_saveAsdraft_Click" PostBackUrl='<%# Request.ServerVariables["URL"] %>' />
                                    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                                        <asp:Button ID="btn_save" runat="server" CssClass="btn green"
                                            OnClientClick="return validate();" ValidationGroup="AddNewMail" Text="Submit" OnClick="btn_save_Click" PostBackUrl='<%# Request.ServerVariables["URL"] %>' />
                                    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                    <asp:Button ID="btn_cancel" runat="server" CssClass="btn red" Text="Cancel" CausesValidation="False" OnClick="btn_cancel_Click" />
                                </div>
                            </div>
                        </div>
                    </div>
                </ContentTemplate>
                <Triggers>
                    <asp:AsyncPostBackTrigger ControlID="ddl_subscribercategories" EventName="SelectedIndexChanged" />
                    <asp:AsyncPostBackTrigger ControlID="Img2" EventName="Click" />
                    <asp:AsyncPostBackTrigger ControlID="Img3" EventName="Click" />
                    <asp:AsyncPostBackTrigger ControlID="Img4" EventName="Click" />
                    <asp:AsyncPostBackTrigger ControlID="btn_saveAsdraft" EventName="Click" />
                    <asp:AsyncPostBackTrigger ControlID="btn_save" EventName="Click" />
                    <asp:AsyncPostBackTrigger ControlID="btn_cancel" EventName="Click" />
                </Triggers>
            </asp:UpdatePanel>

что я здесь делаю не так. Пожалуйста, помогите мне, ребята .....

1 Ответ

0 голосов
/ 16 мая 2019

Просто создайте новую форму и поместите всю эту HTML-разметку и исходный код на эту новую страницу. работает очарование ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...