我有一个带有ac#code-behind的asp.net页面.如果更改gridview对象的selected-index而不选择"confirm"或"cancel",我试图让代码隐藏显示为"alert".用于检测是否已选择确认或取消的代码正在运行,但我的消息永远不会显示.'Alert.Show'代码来自:http: //archive.devnewz.com/devnewz-3-20061129JavaScriptAlertShowmessagefromASPNETCodebehind.html.
例如,在从page_load()测试时,Alert.show工作正常,但在我的selected_index_changed方法中没有.知道为什么吗?也许与Alert.Show()的实现方式有关?
if (ChangeAttemptedId && !IsSavedId)
{
Alert.Show("Dispatch assignment saved, but you forgot to click Confirm or Cancel!)");
}
Run Code Online (Sandbox Code Playgroud)
ASP.NET代码:
<asp:Table ID="Table1" runat="server" CssClass="DefaultTable">
<asp:TableRow runat="server">
<asp:TableCell runat="server" Width="50%" VerticalAlign="Top" HorizontalAlign="Left">
<asp:UpdatePanel ID="detailsUP" runat="server" UpdateMode="Always" ChildrenAsTriggers="True">
<ContentTemplate>
<!--
<asp:Label ID="label1" runat="server" Text="Car To Dispatch: " CssClass="DefaultLabel"></asp:Label>
<asp:DropDownList ID="CarsDDL" runat="server" DataSourceID="VehiclesEDS" DataMember="CarNum" DataTextField="CarNum" AppendDataBoundItems="True" Font-Bold="True">
<asp:ListItem Selected="True" Text="-"></asp:ListItem>
</asp:DropDownList>
-->
<asp:DetailsView ID="RideToAssignDV" runat="server" Height="400px"
Width="400px" AutoGenerateRows="False"
BackColor="White" BorderColor="#999999" BorderStyle="None" BorderWidth="1px"
CellPadding="3" GridLines="Vertical">
<AlternatingRowStyle BackColor="#DCDCDC" />
<EditRowStyle BackColor="#008A8C" …Run Code Online (Sandbox Code Playgroud) 按照 Microsoft 的 Dynamics CRM 2011 动手实验,我尝试将自定义视图添加到响应“onchange”特定属性的表单。这是我添加自定义视图的函数:
function HandleOnChangeDVMInformationLookup()
{
var locAttr = Xrm.Page.data.entity.attributes.get("new_referringdvm");
if (locAttr.getValue() != null)
{
var dvmId = locAttr.getValue()[0].id;
var viewDisplayName = "DVM Information";
var viewIsDefault = true;
var fetchXml = '<fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="false"><entity name="dvminformation"><attribute name="dvminformation_id"/><attribute name="dvminformation_name"/><attribute name="new_firstname"/><attribute name="new_lastname"/><filter type="and"><condition attribute="id" operator="eq" value="' +dvmId +'"/></filter></entity></fetch>';
var layoutXml = '<grid name="resultset" object="10001" jump="dvminformation_name" select="1" icon="1" preview="1"><row name="result" id="dvminformation_id"><cell name="dvminformation_name" width="300" /><cell name="new_firstname" width="125"/></row></grid>';
var control = Xrm.Page.ui.controls.get("new_dvm_information");
control.addCustomView("62e0ee43-ad05-407e-9b0b-bf1f821c710e", "dvminformation", viewDisplayName, fetchXml, layoutXml, viewIsDefault );
} …Run Code Online (Sandbox Code Playgroud) 我在asp:net中使用AJAX,并且我正在尝试处理一种情况:asp:按钮同时触发javascript方法和codebehind c#方法.为此,我使用按钮的onclick和onClientClick属性.我需要回调才能调用codebehind但是这个回发会导致javascript无法工作,因为变量已经丢失状态.任何人都可以描述如何处理这个?可能与ajax和异步回发?它开始让我有点疯狂!
编辑:javascript实际上是google-map(v3),c#代码用于提交给sql db.
地图在代码隐藏中初始化:
protected void Page_Load(object sender, EventArgs e)
{
if(!Page.IsPostBack) {
ScriptManager.RegisterStartupScript(this, this.GetType(), "onload", "initialize_map();", true);
submitButton.Command += new CommandEventHandler(this.submitButton_Click);
}
}
Run Code Online (Sandbox Code Playgroud)
以下是一些相关代码:
<asp:UpdatePanel runat="server" ID="Form" UpdateMode="Conditional">
<ContentTemplate>
(...form stuff...)
<asp:Button ID="submitButton" runat="server" Text="Submit" ValidationGroup="NewCallFormSubmit" OnClientClick="calcRoute(); return false;" onclick="submitButton_Click" />
</ContentTemplate>
</UpdatePanel>
<asp:UpdatePanel runat="server" ID="DisplayUpdatePanel" UpdateMode="Conditional">
<ContentTemplate>
<h1>
Pick-Up and Drop-Off Locations
</h1>
<!-- Map Layout -->
<div id="map_canvas" style="width: 500px; height: 500px;"></div>
</ContentTemplate>
</asp:UpdatePanel>
Run Code Online (Sandbox Code Playgroud)
...我认为如果我可以让第一个更新面板在按钮点击上回发,第二个面板不回发,并且仍然可以调用代码隐藏按钮.到目前为止,这一切都没有运气同时发生.
我意识到这可能是一个简单的问题,但我是ASP.net(C#)的新手,并且遇到了一个问题,我在这个方法中传递了一个'side'对象,该对象是从一个SQL数据库通过LINQ-to-获得的实体声明.我尝试将另一个全局变量设置为Ride.identity属性的值(这是一个long),但在下一个方法中,当我尝试使用此值时,新值不会保持不变.有什么想法吗?如果有一些我错过的后期重新初始化这个变量,有没有办法保存它?谢谢.
private void displayRide(Ride ride, int carNum)
{
if (ride != null)
{
ride.AssignedCar = carNum;
ride.Status = "EnRoute";
id_ridePendingConfirm = ride.identity; //<----THE PROBLEM IS HERE!
myEntities.SaveChanges();
RideToAssignDV.DataSource = new List<Ride> {ride};
RideToAssignDV.DataBind();
}
else
{
//TODO: Redirect to error.aspx
RideToAssignDV.DataSource = null;
RideToAssignDV.DataBind();
}
}
Run Code Online (Sandbox Code Playgroud) 我正在关注此处列出的可搜索网格视图代码.我在使用时遇到了麻烦FilterExpression.我得到了例外:
'Name'运算符后缺少操作数...当异常发生时,FilterExpression ="WHERE Name like'spencer%'"
以下代码中发生异常:
protected void BindSGVData()
{
//hfSearchText has the search string returned from the grid.
if (hfSearchText.Value != "")
{
RidesSQL.FilterExpression = " WHERE " + hfSearchText.Value; //EXCEPTION HERE!
}
DataView dv = (DataView)RidesSQL.Select(new DataSourceSelectArguments());
//hfSort has the sort string returned from the grid.
if (hfSort.Value != "")
{
dv.Sort = hfSort.Value;
}
RideSGV.DataSource = dv;
try
{
RideSGV.DataBind();
}
catch (Exception exp)
{
//If databinding threw exception bcoz current page index …Run Code Online (Sandbox Code Playgroud)