Главен детайл в ASP.NET

Имам две маси.

tbl_Request(PKRequestID, RequestCode) and tbl_Personnel(PKPersonID, PerosnelName FKRequestID)

FKrfequestID е външен ключ към tbl_request. Имам мрежов изглед в страницата Requests.aspx, който показва tbl_request записи. На тази страница също има бутон "Нов артикул". Когато потребителят щракне върху този бутон, се отваря страницата RequestInsert.aspx. В тази страница потребителят въвежда някои данни като RequestCode и натиска бутона „Напред“ и отива на страницата Personel.aspx, която съдържа мрежов изглед, който показва персонала, който е свързан със заявката. На тази страница потребителят трябва да дефинира Персонал, който е свързан със заявката. Когато целият процес приключи, потребителят натиска бутона "запазване". И двете таблици ще бъдат актуализирани, когато потребителят щракне върху бутона "запазване". Как мога да внедря страницата Personel.aspx?


person Karadous    schedule 25.05.2012    source източник
comment
Публикувайте кода, който сте пробвали.   -  person Krishanu Dey    schedule 25.05.2012
comment
Въпросът ви е малко объркващ. Когато потребител иска да добави нов запис към tbl_Reque... и в базата данни, докато потребителят потвърди целия процес... създават объркване за мен. Моля, пояснете.   -  person Krishanu Dey    schedule 25.05.2012
comment
Редактирах въпроса Krishanu Dey.   -  person Karadous    schedule 25.05.2012
comment
можеш ли да публикуваш html на Personel.aspx?   -  person Krishanu Dey    schedule 25.05.2012


Отговори (1)


ЕТО ЕДИН ПОДХОД:

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        DataTable dttbl = new DataTable();
        dttbl.Columns.Add("PKPersonID", System.Type.GetType("System.String"));
        dttbl.Columns.Add("PerosnelName", System.Type.GetType("System.String"));
        dttbl.Columns.Add("FKRequestID", System.Type.GetType("System.String"));
        Session["MyDataTable"] = dttbl;
    }
}
protected void btnok_Click(object sender, EventArgs e)
{
    DataTable t = (DataTable)Session["MyDataTable"];
    DataRow row1 = t.NewRow();

    row1["PKPersonID"] = txtid.Text ;
    row1["PerosnelName"] = txtname.Text;
    row1["FKRequestID"] = Session["FKRequestID"];
    t.Rows.Add(row1);

    Session["MyDataTable"] = t;
    GridView1.DataSource = t;
    GridView1.DataBind();
}

protected void btnsave_Click(object sender, EventArgs e)
    {
        DataTable t2 = (DataTable)Session["MyDataTable"];
        SqlConnection con = new SqlConnection("connection_string"
        using (SqlCommand command = con.CreateCommand())
        {
            //Here you are inserting values to tbl_Request
            if (con.State == 0)
                con.Open();
            command.CommandText = @"INSERT INTO tbl_Request (PKRequestID,RequestCode) VALUES (@PKRequestID,@RequestCode)";
            command.Parameters.AddWithValue("@PKRequestID", Session["PKRequestID"]);
            command.Parameters.AddWithValue("@RequestCode", Session["RequestCode"]);
            command.ExecuteNonQuery();
        }

        foreach (DataRow row in t2.Rows)
        {
            //Here you are inserting values to tbl_Personnel
            using (SqlCommand command2 = con.CreateCommand())
            {
                if (con.State == 0)
                    con.Open();
                command2.CommandText = @"INSERT INTO tbl_Personnel (PerosnelName, FKRequestID) VALUES ( @PerosnelName, @FKRequestID)";
                command2.Parameters.AddWithValue("@PerosnelName", txtname.Text);
                command2.Parameters.AddWithValue("@FKRequestID", Session["PKRequestID"]);
                command2.ExecuteNonQuery();
            }
        }
    }
person Krishanu Dey    schedule 25.05.2012
comment
Правил съм това. Но не знам как да внедря страницата Personel.aspx. Как трябва да внедря Insert? Тъй като в тази стъпка Заявката не е вмъкната в таблицата, не мога да вмъкна в tbl_personel. - person Karadous; 25.05.2012
comment
Тук в страницата Personel.aspx потребителят просто трябва да избере Персонал от изгледа на мрежата. Прав ли съм? - person Krishanu Dey; 25.05.2012
comment
Не, трябва да има нов бутон. когато потребителят щракне върху него, ще се отвори друга страница. Той въвежда информация за персонала и щраква OK. новият добавен персонал трябва да се появи в табличния изглед. Но не трябва да се вмъква в tbl_personnel, докато потребителят не щракне върху бутона за запазване. - person Karadous; 25.05.2012
comment
Автоматично генерирани ли са PKPersonID и PKRequestID? - person Krishanu Dey; 25.05.2012
comment
PKPersonnelID се генерира автоматично. Но аз генерирам PRKequestID ръчно. и двете са GUID. - person Karadous; 26.05.2012
comment
Благодаря ти много krishanu. Все още имам друг проблем. Как да внедрим редактиране на записи tbl_personnel? - person Karadous; 26.05.2012
comment
Публикувайте отделен въпрос за Как да внедрите редактиране на записи tbl_personnel? - person Krishanu Dey; 26.05.2012
comment
Моля, информирайте ме, като оставите коментар тук, след като публикувате въпрос относно Как да внедря редактиране на tbl_personnel записи? - person Krishanu Dey; 26.05.2012
comment
Зададох нов нов въпрос krishanu. Ето линка. stackoverflow.com/questions/10772139 / - person Karadous; 27.05.2012