向用户发出警报消息确定或使用C#取消 [英] Alert message to the user ok or cancel using C#

查看:41
本文介绍了向用户发出警报消息确定或使用C#取消的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

string url = string.Empty;
                bool isAgri = true;
                int count = 0; //added
                foreach (GridViewRow row in grdRpt.Rows)
                {
                    CheckBox chk = (CheckBox)grdRpt.Rows[row.RowIndex].FindControl("chkselecdata");
                    if (chk.Checked == true)
                    {
                        count++;
                        int key = Convert.ToInt32(grdRpt.DataKeys[row.RowIndex].Value);
                        if (row.Cells[4].Text == "Agri Input")
                        {
                            isAgri = true;
                            url = ConfigurationManager.AppSettings["SAPAgriInputPostingUrl"].ToString();
                        }
                        break;
                    }
                }

String strConnString = ConfigurationManager.ConnectionStrings["IvcSpiderDBConnectionStrings"].ConnectionString;
                SqlConnection con = new SqlConnection(strConnString);
                con.Open();
                if (count > 0)
                {
                    if (isAgri)
                    {
                        string slip_No = string.Empty;
                        List<string> slipnoList = new List<string>();
                        List<Dist_Request> dist_requests = new List<Dist_Request>();
                        foreach (GridViewRow row in grdRpt.Rows)
                        {
                            CheckBox cb = (CheckBox)row.FindControl("chkselecdata");
                            if (cb.Checked == true)
                            {
                                int key = Convert.ToInt32(grdRpt.DataKeys[row.RowIndex].Value);

                                slip_No = row.Cells[2].Text;
                                Dist_Request dist_request = new Dist_Request();
                                LT_ITEMS lT_ITEM = new LT_ITEMS();
   lT_ITEM.MATNR = row.Cells[15].Text == " " ? string.Empty : row.Cells[15].Text;
   
  dist_request = dist_requests.Where(r => r.SLIP_NO == slip_No).FirstOrDefault();
             if (dist_request != null && dist_request.SLIP_NO != null)
               {
dist_requests.Find(f => f.SLIP_NO == slip_No).PostingNav.Add(lT_ITEM);
dist_requests.Find(f => f.SLIP_NO == slip_No).FLAG += "," + key.ToString();
               }
      else
             {
                  dist_request = new Dist_Request();
                  dist_request.SLIP_NO = slip_No;
                  dist_request.BUDAT = DateTime.Now.ToString("yyyyMMdd");
                  dist_request.MBLNR = string.Empty; 
                            dist_request.FLAG = key.ToString();
                           List<LT_ITEMS> lT_ITEMs = new List<LT_ITEMS>();
                           List<ReturnNav> listreturnNav = new List<ReturnNav>();
                           lT_ITEMs.Add(lT_ITEM);
                          dist_request.PostingNav = lT_ITEMs;
                          dist_request.ReturnNav = listreturnNav;
                          dist_requests.Add(dist_request);
            }

 }
                            else
                            {
                                slip_No = row.Cells[2].Text;
                                slipnoList.Add(slip_No);
                            }
                        }
                        HttpHelper httpHelper = new HttpHelper();
                        if (dist_requests.Count > 1)
                        {
                            ScriptManager.RegisterStartupScript(this, GetType(), "showalert", "alert('More than one slip no selected , Cannot post with multiple slip no');", true);
                            return;
                        }

        string reqkeys = dist_requests.FirstOrDefault().FLAG;
                        dist_requests.FirstOrDefault().FLAG = "1";
                        Dist_Response dist_Response = new Dist_Response();

               dist_Response = httpHelper.PostAsync<Dist_Response, 
         Dist_Request>(dist_requests.FirstOrDefault(), url).GetAwaiter().GetResult();
                List<int> updateKeys = reqkeys.Split(',').Select(int.Parse).ToList();
                        string resulttype = "E";
                        string resultmsg = "";
                        string alertmsg = "Unable to Post in SAP ";
if (dist_Response != null && dist_Response.d != null && dist_Response.d.ReturnNav != null && dist_Response.d.ReturnNav.results != null)
                        {
             foreach (ReturnNavresults r in dist_Response.d.ReturnNav.results)
                            {
                                resulttype += "|" + r.Type;
                                resultmsg += "|" + r.Type + ":" + r.Message;
                            }
                            if (!string.IsNullOrEmpty(resultmsg))
                            {
                                resulttype.Remove(0, 1);
                                resultmsg.Remove(0, 1);
                                alertmsg = resultmsg;
                            }
                            resulttype = dist_Response.d.ReturnNav.results.FirstOrDefault().Type;
                            resultmsg = dist_Response.d.ReturnNav.results.FirstOrDefault().Message;
                            alertmsg = resultmsg;
                        }
                        foreach (int key in updateKeys)
                        {
                            SqlCommand cmd = new SqlCommand("UPDATE [transact].[transaction_item] SET Status = '" + resulttype + "',status_description = '" + resultmsg + "',posteddate = convert(varchar, getdate(), 103),username = '" + Request.Cookies["SpiderUserLoginName"].Value.ToString() + "' Where transaction_id=" + key.ToString(), con);
                            cmd.ExecuteNonQuery();
                            ScriptManager.RegisterStartupScript(this, GetType(), "showalert", "alert('" + alertmsg + "');", true);
                        }
                    }





在运行模式gridview中如下





slipno slipdate季节位置区域

2315 28.05.2018 2019 1001 Diawala

2315 28.05.2018 2019 1002 Ferke

2315 28.05.2018 2019 1003 Fereskdo



i想在gridview中进行一次验证,如果假设一次滑动没有多次出现意味着,我想要向用户显示消息你还有更多的事情吗?

ok取消



for asp.net如何使用c#



我尝试过:





In run mode gridview as follows


slipno slipdate season location zone
2315 28.05.2018 2019 1001 Diawala
2315 28.05.2018 2019 1002 Ferke
2315 28.05.2018 2019 1003 Fereskdo

i want to do one validation in gridview if suppose one slip no have appear more than once means, i want to show message to the user "Some more slipno is there do you proceed?"
ok Cancel

for that how to do in asp.net using c#

What I have tried:

string url = string.Empty;
                bool isAgri = true;
                int count = 0; //added
                foreach (GridViewRow row in grdRpt.Rows)
                {
                    CheckBox chk = (CheckBox)grdRpt.Rows[row.RowIndex].FindControl("chkselecdata");
                    if (chk.Checked == true)
                    {
                        count++;
                        int key = Convert.ToInt32(grdRpt.DataKeys[row.RowIndex].Value);
                        if (row.Cells[4].Text == "Agri Input")
                        {
                            isAgri = true;
                            url = ConfigurationManager.AppSettings["SAPAgriInputPostingUrl"].ToString();
                        }
                        break;
                    }
                }

<pre> String strConnString = ConfigurationManager.ConnectionStrings["IvcSpiderDBConnectionStrings"].ConnectionString;
                SqlConnection con = new SqlConnection(strConnString);
                con.Open();
                if (count > 0)
                {
                    if (isAgri)
                    {
                        string slip_No = string.Empty;
                        List<string> slipnoList = new List<string>();
                        List<Dist_Request> dist_requests = new List<Dist_Request>();
                        foreach (GridViewRow row in grdRpt.Rows)
                        {
                            CheckBox cb = (CheckBox)row.FindControl("chkselecdata");
                            if (cb.Checked == true)
                            {
                                int key = Convert.ToInt32(grdRpt.DataKeys[row.RowIndex].Value);

                                slip_No = row.Cells[2].Text;
                                Dist_Request dist_request = new Dist_Request();
                                LT_ITEMS lT_ITEM = new LT_ITEMS();
   lT_ITEM.MATNR = row.Cells[15].Text == " " ? string.Empty : row.Cells[15].Text;
   
  dist_request = dist_requests.Where(r => r.SLIP_NO == slip_No).FirstOrDefault();
             if (dist_request != null && dist_request.SLIP_NO != null)
               {
dist_requests.Find(f => f.SLIP_NO == slip_No).PostingNav.Add(lT_ITEM);
dist_requests.Find(f => f.SLIP_NO == slip_No).FLAG += "," + key.ToString();
               }
      else
             {
                  dist_request = new Dist_Request();
                  dist_request.SLIP_NO = slip_No;
                  dist_request.BUDAT = DateTime.Now.ToString("yyyyMMdd");
                  dist_request.MBLNR = string.Empty; 
                            dist_request.FLAG = key.ToString();
                           List<LT_ITEMS> lT_ITEMs = new List<LT_ITEMS>();
                           List<ReturnNav> listreturnNav = new List<ReturnNav>();
                           lT_ITEMs.Add(lT_ITEM);
                          dist_request.PostingNav = lT_ITEMs;
                          dist_request.ReturnNav = listreturnNav;
                          dist_requests.Add(dist_request);
            }

 }
                            else
                            {
                                slip_No = row.Cells[2].Text;
                                slipnoList.Add(slip_No);
                            }
                        }
                        HttpHelper httpHelper = new HttpHelper();
                        if (dist_requests.Count > 1)
                        {
                            ScriptManager.RegisterStartupScript(this, GetType(), "showalert", "alert('More than one slip no selected , Cannot post with multiple slip no');", true);
                            return;
                        }

        string reqkeys = dist_requests.FirstOrDefault().FLAG;
                        dist_requests.FirstOrDefault().FLAG = "1";
                        Dist_Response dist_Response = new Dist_Response();

               dist_Response = httpHelper.PostAsync<Dist_Response, 
         Dist_Request>(dist_requests.FirstOrDefault(), url).GetAwaiter().GetResult();
                List<int> updateKeys = reqkeys.Split(',').Select(int.Parse).ToList();
                        string resulttype = "E";
                        string resultmsg = "";
                        string alertmsg = "Unable to Post in SAP ";
if (dist_Response != null && dist_Response.d != null && dist_Response.d.ReturnNav != null && dist_Response.d.ReturnNav.results != null)
                        {
             foreach (ReturnNavresults r in dist_Response.d.ReturnNav.results)
                            {
                                resulttype += "|" + r.Type;
                                resultmsg += "|" + r.Type + ":" + r.Message;
                            }
                            if (!string.IsNullOrEmpty(resultmsg))
                            {
                                resulttype.Remove(0, 1);
                                resultmsg.Remove(0, 1);
                                alertmsg = resultmsg;
                            }
                            resulttype = dist_Response.d.ReturnNav.results.FirstOrDefault().Type;
                            resultmsg = dist_Response.d.ReturnNav.results.FirstOrDefault().Message;
                            alertmsg = resultmsg;
                        }
                        foreach (int key in updateKeys)
                        {
                            SqlCommand cmd = new SqlCommand("UPDATE [transact].[transaction_item] SET Status = '" + resulttype + "',status_description = '" + resultmsg + "',posteddate = convert(varchar, getdate(), 103),username = '" + Request.Cookies["SpiderUserLoginName"].Value.ToString() + "' Where transaction_id=" + key.ToString(), con);
                            cmd.ExecuteNonQuery();
                            ScriptManager.RegisterStartupScript(this, GetType(), "showalert", "alert('" + alertmsg + "');", true);
                        }
                    }







在运行模式gridview中如下





slipno slipdate season location zone

2315 28.05.2018 2019 1001 Diawala

2315 28.05.2018 2019 1002 Ferke

2315 28.05.2018 2019 1003 Fereskdo



i想在gridview中进行一次验证,如果假设没有出现不止一次意味着,我想向用户显示消息你还有什么进展吗?

ok取消



为什么在asp.net中使用c#




In run mode gridview as follows


slipno slipdate season location zone
2315 28.05.2018 2019 1001 Diawala
2315 28.05.2018 2019 1002 Ferke
2315 28.05.2018 2019 1003 Fereskdo

i want to do one validation in gridview if suppose one slip no have appear more than once means, i want to show message to the user "Some more slipno is there do you proceed?"
ok Cancel

for that how to do in asp.net using c#

推荐答案

不要这样做!永远不要连接字符串来构建SQL命令。它让您对意外或故意的SQL注入攻击持开放态度,这可能会破坏您的整个数据库。总是使用参数化查询。



连接字符串时会导致问题,因为SQL会收到如下命令:

Do not do it like that! Never concatenate strings to build a SQL command. It leaves you wide open to accidental or deliberate SQL Injection attack which can destroy your entire database. Always use Parameterized queries instead.

When you concatenate strings, you cause problems because SQL receives commands like:
SELECT * FROM MyTable WHERE StreetAddress = 'Baker's Wood'

就SQL而言,用户添加的引号会终止字符串,并且您会遇到问题。但情况可能更糟。如果我来并改为输入:x'; DROP TABLE MyTable; - 然后SQL收到一个非常不同的命令:

The quote the user added terminates the string as far as SQL is concerned and you get problems. But it could be worse. If I come along and type this instead: "x';DROP TABLE MyTable;--" Then SQL receives a very different command:

SELECT * FROM MyTable WHERE StreetAddress = 'x';DROP TABLE MyTable;--'

哪个SQL看作三个单独的命令:

Which SQL sees as three separate commands:

SELECT * FROM MyTable WHERE StreetAddress = 'x';

完全有效的SELECT

A perfectly valid SELECT

DROP TABLE MyTable;

完全有效的删除表格通讯和

A perfectly valid "delete the table" command

--'

其他一切都是评论。

所以它确实:选择任何匹配的行,从数据库中删除表,并忽略其他任何内容。



所以总是使用参数化查询!或者准备好经常从备份中恢复数据库。你定期做备份,不是吗?



首先在整个应用程序中作为优先事项进行修复,然后考虑你遇到的问题。但是错过了一个......你的数据库将被损坏。

And everything else is a comment.
So it does: selects any matching rows, deletes the table from the DB, and ignores anything else.

So ALWAYS use parameterized queries! Or be prepared to restore your DB from backup frequently. You do take backups regularly, don't you?

Fix that throughout your app first as a matter of priority, then consider the problem you are having. But miss one ... and your DB will be damaged.


这篇关于向用户发出警报消息确定或使用C#取消的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆