我有一个实现gridview的onRowDeleting方法.我想用弹出消息提示用户确认是否要删除此项目.如果用户单击"确定","确认"或类似的东西,那么我希望onRowsDeleting将进程和记录删除.但是如果用户按下"否",那么我希望取消该方法并且不删除记录.
如何才能做到这一点?
这是我gridview和onRowDeleting代码背后方法.
<asp:GridView runat="server" ID="gvShowQuestionnaires" HeaderStyle-CssClass="table_header" CssClass="view" AlternatingRowStyle-CssClass="alt" AlternatingRowStyle-BackColor="#f3f4f8" AutoGenerateColumns="False"
DataKeyNames='QuestionnaireID' OnRowDeleting="gvShowQuestionnaires_RowDeleting" OnRowEditing="gvShowQuestionnaires_RowEdit" OnSelectedIndexChanged="gvShowQuestionnaires_SelectedIndexChanged" FooterStyle-CssClass="view_table_footer" >
<Columns>
<asp:BoundField DataField="QuestionnaireID" HeaderText="ID" HeaderStyle-Width="80px" ItemStyle-CssClass="bo"></asp:BoundField>
<asp:BoundField DataField="QuestionnaireName" HeaderText="Questionnaire Name" />
<asp:ButtonField CommandName="select" ButtonType="Link" Text="view results" />
<asp:CommandField HeaderText="Options" CausesValidation="true" ShowDeleteButton="True" ShowEditButton="true" EditText="Edit">
</asp:CommandField>
</Columns>
</asp:GridView>
protected void gvShowQuestionnaires_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
int questionnaireID = (int)gvShowQuestionnaires.DataKeys[Convert.ToInt32(e.RowIndex)].Value;
GetData.DeleteQuestionnaire(questionnaireID);
gvShowQuestionnaires.DataSource = DT;
gvShowQuestionnaires.DataBind();
lblActivity.Visible = true;
lblActivity.Text = "Your questionnaire has been deleted";
}
Run Code Online (Sandbox Code Playgroud) 当QuestionnaireID匹配我的查询时,我正在使用ExecuteReader返回QuestionText的值.(参见数据库设计)
但是我的问题是,当我运行项目时,我的ExecuteReader只返回输入的最后一个值.例如,如果我要在问卷ID为1下创建3个问题(A,B,C).ExecuteReader将仅返回问题C.
如何返回QuestionText列中具有相同问卷ID的所有值?
数据库设计

****.**CS
public string GetQuestionName(int QuestionnaireID)
{
string returnvalue = string.Empty;
SqlCommand myCommand = new SqlCommand("GetQuestion", _productConn);
myCommand.CommandType = CommandType.StoredProcedure;
myCommand.Parameters.Add(new SqlParameter("@QUEST_ID", SqlDbType.Int));
myCommand.Parameters[0].Value = QuestionnaireID;
_productConn.Open();
SqlDataReader test = myCommand.ExecuteReader();
while (test.Read())
{
returnvalue = test.GetString(0);
}
_productConn.Close();
return returnvalue;
}
Run Code Online (Sandbox Code Playgroud)
存储过程
USE [devworks_oscar]
GO
/****** Object: StoredProcedure [hbo].[GetQuestion] Script Date: 11/12/2011 13:12:36 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [hgomez].[GetQuestion]
(
@QUEST_ID int
)
AS
/*SET NOCOUNT ON;*/
SELECT QuestionText FROM …Run Code Online (Sandbox Code Playgroud) 只是一个小问题,因为我找不到解决我的问题的答案.
我有一个ASP页面,它将输入发送到数据库,然后创建一个会话.我想知道如何在另一个 aspx页面上返回该会话中的某个值.
page1.aspx.cs [创建会话]
public partial class new_questionnaire : System.Web.UI.Page
{
OscarSQL c;
protected void Page_Load(object sender, EventArgs e)
{
c = new OscarSQL();
} // End Page_Load
////// Button Method //////
protected void NewQnrButton_Click(object sender, EventArgs e)
{
// Check if the input fields are empty.
if (QuestionnaireName.Text == "" || CustomerID.Text == "" || NumberOfQuest.Text == "")
{
Error.Text = "Please enter a name for your questionnaire.";
}
// Parse input values to OscarSQL.
else
{ …Run Code Online (Sandbox Code Playgroud) 我已经阅读了现有的问题,但它们似乎无法解决我的问题.我希望能够在下拉列表中选择"Open Ended"选项时隐藏div"answer_wrapper".
我已经写了一些代码,但是当我运行解决方案时,在下拉列表中选择"Open Ended"选项时似乎没有任何事情发生.
任何帮助将非常感激.
$(function ()
{
$("#QuestnType").change(function ()
{
ToggleDropdown();
});
ToggleDropdown();
});
function ToggleDropdown()
{
if ($("#QuestnType").val() == "Open Ended")
{
$("#answer_wrapper").hide();
}
else
{
$("#answer_wrapper").show();
}
};
Run Code Online (Sandbox Code Playgroud)
下拉列表
<asp:DropDownList runat="server" ID="QuestnType" CssClass="form">
<asp:ListItem Value="1">Check Boxes</asp:ListItem>
<asp:ListItem Value="2">Drop Down</asp:ListItem>
<asp:ListItem Value="3">Open Ended</asp:ListItem>
<asp:ListItem Value="4">Radio Buttons</asp:ListItem>
</asp:DropDownList>
<div id="answer_wrapper">
some code here
</div>
Run Code Online (Sandbox Code Playgroud)
我哪里错了?