How To Pass JavaScript Function As A Parameter In The Route Values Of Ajax Actionlink
Apr 20, 2010I need to pass javascript function as a parameter value to the ajax actionlink in asp.net mvc app. how can we achieve this?
View 1 RepliesI need to pass javascript function as a parameter value to the ajax actionlink in asp.net mvc app. how can we achieve this?
View 1 RepliesI know that I do not want to actually use an Ajax.ActionLink from within a JavaScript function, but for the life of me I cannot figure out how to replicate the behavior. Here is what I have in my MVC 3 RC2 _Layout.cshtml:
[Code]....
I do NOT want to use:
[Code]....
Unless that can be made to populate at runtime, on demand from a script. manually clicking the ""Load Menu" ActionLink works exactly like I want except it requires the user to click the link; I want to do that for them... in this case from the Body onload event.
Basically, I have a gridview that is opened in a new window from the parent window. It has a bunch of records with a view button to view the details of each record (which stays in the same newly opened window). I have a calendar in the parent window that accepts a Date querystring parameter to set the current date on the calendar at page load. I'm just trying to refresh the calendar in the parent window to match the date of the label in the newly opened window. All the code below is in the newly opened window. The .Net code-behind below refers to when that view button is clicked and everything is populated. At the end, I call the js to refresh the parent window and pass the value of the LabelScheduleDate as the querystring parameter. Now the label comes through as '03/25/2010' in the code-behind, but when I pass it to the js, it comes through as '0.00005970149253731343' in the end querystring. I'm not really sure what is making the value change, and I want to pass it as just text. Do I need to pass it as a string object? I tried but I don't think I was doing it right.
JavaScript Function
function RefreshParent(inputDate) {
window.opener.location = window.opener.location + "?Date=" + inputDate;
}
.NET Code-Behind
Protected Sub RadGridOnlineRequests_ItemCommand(ByVal source As Object, ByVal e As Telerik.Web.UI.GridCommandEventArgs) Handles RadGridOnlineRequests.ItemCommand
If e.CommandName = "ViewOnlineRequest" Then
' populates LabelScheduleDate among other controls values
ScriptManager.RegisterStartupScript( _
Me, Me.GetType(), "clientScript", "RefreshParent(" & LabelScheduleDate.Text & ");", True)
End If
End Sub
I have the following:
<EditItemTemplate>
<asp:Button ID="wrqst_need_ind_btn" runat="server" Text = "Create WR"
onClientClick="javascript:popUp('popup_createWR.aspx')"
CommandArgument='<%# Eval("dvc_nm") + "|" + Eval("data_orgtn_yr") %>'/>
</EditItemTemplate>
I want to pass in as two additional params the Eval("dvc_nm") and Eval("data_orgtn_yr") to the popup function.
UPDATE:
I tried by removing the single quotes from insode the <% %> tags. Which gave me this:
onClientClick='<%# "javascript:popUp(popup_createWR.aspx," + Eval("dvc_nm") + "," + Eval("data_orgtn_yr") + ")" %>'
which complied, but when I clicked the button I did not get a pop up, the page just posted back and reloaded and said errors on page, but no popup...
Global.asax route values
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional, filterDate = DateTime.Now.AddDays(-1), filterLevel = "INFO" } // Parameter defaults
);
Here's my actionlink
@Html.ActionLink(item.MachineName, "Machine", new { id = item.MachineName, filterLevel = "hello" }, null)
When the filterlevel is specified in the actionlink, it generates a url like this: [URL] Which is the same page as I am currently on. If I change the actionlink to use a property other than one that has a default value in the route table (yes, if I use filterDate it messes up too), it generates a link like this:..............
in my mvc2 application i have an action link like
[Code]....
docid is set to empty string because i want to clear ambient value of docid that is present in request context. i have gone through a lot of material on internet and even tried docid=String.Empty but it does not solve the problem and gives me url like /controller/action/id?docid=x. i also write a routeconstraint as suggested but it did not solve the problem either.clear those route values comming from request context with html.actionLink. i don't want to use html.routeLink
m having problem in passing parameter to controller action, i have done the following
Url.Action("SchoolDetails","School",new{id=item.SchoolId}) and my controller action follows
public ActionResult SchoolDetails(string schoolId,_ASI_School schoolDetail)
{
schoolDetail = SchoolRepository.GetSchoolById(schoolId);
return View(schoolDetail);
}
i dn't know why the schoolId above in action is getting null..
I want to pass hidden variable to javascript from href. Below is the code used
<input runat="server" id="hidOrganizationId" type="hidden" value="" />
<ul class="gloMenu">
<li id="liOrg" runat="server">
<a href="javascript: DataEncryption('../Admin/DetailPage.aspx?OrganizationId=' + hidOrganizationId)">
<b>Ordering Facility</b>
</a>
</li>
I would like to update the content of a div using the result from an action method which returns a PartialView. The below code would do just this.
<%= Ajax.ActionLink("Update", "Comments", new { id = 1 }, new AjaxOptions { UpdateTargetId = "divComments" })%>
<div id="divComments" />
public ActionResult Comments(string id)
{
...
return View(photo.Comments);
}
Is it possible to have this update occur from inside a javascript method rather than from a link on the page?
What is wrong with this code? I am trying to pass parameters to a WCF function. I couldn't get this to work. I am getting Ajax error.
$.ajax({
url: applicationPath + "/Test.svc/GetData",
type: "POST",
dataType: "json",
data: '{GId":' + sender.get_value() + '"GName":' + sender.get_text() + '"mId":' + testId + '}',
contentType: "application/json; charset=utf-8",
success: function(result)
{
//trying to fill combobox here
},
});
When I edit single recored in page, I use checkbox to get a selected row not every row with an actionlink element, but it seemed I cant make this way happen through calling javascript code(function GetSelectedRow() should return an id). Could anyone have a nice idea?
[Code]....
how to call javascript function in html.actionlink in asp.net mvc? i wan to call one method which is in java script but how to call it within html.actionlink in same page
View 1 RepliesWhen I edit single recored in page, I use checkbox to get a selected row not every row with an actionlink element, but it seemed I cant make this way happen through calling javascript code (function GetSelectedRow() should return an id). Could anyone have a nice idea?
<head runat="server">
<title>Index</title>
<script type="text/javascript" language="javascript">
function GetSelectedRow() {
var a = 0;
var chkBoxes = document.getElementsByName("chkSelect");
var count = chkBoxes.length;
for (var i = 0; i < count; i++) {
if (chkBoxes[i].checked == true)
a = chkBoxes[i].primaryKeyID;
}
return a;
}
</script>
</head>
<body>
<div>
<span style="width:20%">
<%: Html.ActionLink("Add", "Create")%>
</span>
<span>
<%: Html.ActionLink("Edit", "Edit", new { id = GetSelectedRow()) %>
</span>
<span>
<%: Html.ActionLink("Detial", "Details", new { id = GetSelectedRow() })%>
</span>
<span>
<%: Html.ActionLink("Delete", "Delete", new { id = GetSelectedRow()) %>
</span>
</div>
<table>
<tr>
<th></th>
<th>
CategoryID
</th>
<th>
CategoryName
</th>
<th>
Description
</th>
</tr>
<% foreach (var item in Model) { %>
<tr>
<td>
<%: Html.ActionLink("Details", "Details", new { id = item.AppCategoryID })%>
</td>
<td>
<%: Html.CheckBox("chkSelect", false, new { primaryKeyID = item.AppCategoryID })%>
</td>
<td>
<%: item.AppCategoryID %>
</td>
<td>
<%: item.AppCategoryName %>
</td>
<td>
<%: item.Description %>
</td>
</tr>
<% } %>
</table>
</body>
I think I need to drop in some escape characters, but I'm not quite sure where. Here is the javascript function I'm attempting to call:
function setData(associateValue, reviewDateValue) {
var associate = document.getElementById("Associate");
var reviewDate = document.getElementById("ReviewDate");
associate.value = associateValue;
reviewDate.value = reviewDateValue;
}
Here is the asp .net mvc line where I'm attempting to create a Radio button with a click event that calls the above function and passes data from the model as javascript parameter values.
<%= Html.RadioButton("Selected", item.Selected, new { onClick="setData('<%=item.Associate%>','<%=item.ReviewDate%>' )" } )%>
The above throws a bunch of compile issues and doesn't work. A call such as the following does call the javascript, but doesn't get the data from the model.
<%= Html.RadioButton("Selected", item.Selected, new { onClick="setData('item.Associate','item.ReviewDate' )" } )%>
<%= Html.RadioButton("Selected", item.Selected, new { onClick="setData('item.Associate','item.ReviewDate' )" } )%>
<% String functionCall = String.Format("setData('{0}','{1}')", Html.Encode(item.Associate), Html.Encode(item.ReviewDate )) ; %>
<%= Html.RadioButton("Selected", item.Selected, new { onClick=functionCall } )%>
How can I pass two variable values to a web service web method using JavaScript and a DynamicPopulateExtender?
Some background of my issue:
I have a fully working cascading drop down list accessing a database.
My parent Cascading Drop Down List is a list of countries and the child displays the relative regions i.e.: USA returns Iowa, Maryland, Oregon etc.
I also have a 3rd Drop Down List control that allows the user to select the language to display the region details i.e.: Selecting the language of Chinese will return a list of regions of the USA in Chinese (held in the database).
I now want to display the translated country name from the 3rd Drop Down List in a label on the page.
I cannot just use the text from the country drop down list as this text value remains in English. The translated value must be returned from the database.
So far, I have installed a DynamicPopulateExtender:
[Code]....
I then wrote a web method (in the Cascading Drop Down local Web Service) to return the translated country name. To do this I have had to hard code the countryID (10663) and the translationLanguageID (1331) asshown below:
[Code]....
This does return the translated country name, but the variables are hard coded!
My question is how do I pass the countryID and the translationLanguageID to the Web Method GetTranslatedCountryName() from the DynamicPopulateExtender? Or even if there is a better way to achieve my task?
I posted this on Stack overflow [URL] but have not had a solution, just completely different way of doing it without using the Ajax.* helpers so I'm wondering if anyone has an Ajax.* solution here?I'm using MVC 3. I have a method on the controller that returns a Json object, according to this question it should be returned to me as Json, but I am finding that is not the case[URL]
here's the code that I have:
[Code]....
And the controller:
[Code]....
The first message box displays the response text which is:{"Success":True, "objectId":"testing"}
the second message box displays undefinedSo it is coming back to the client correctly, I'm just not sure how to get it out?...Stefan
I have create a web page having dynamically created text boxes if i select value in dropdown list,text boxes auto generates .but i want to save all text box values in SQL server database after clicking on submit button using ajax/JSON request
View 1 RepliesI am having the following piece of code that is not working:
<a href="#" onclick="Edit(@Interest);">edit</a>
where I have
@{string Interest=""}
I'm using a CustomValidator control to validate some controls in a GridView. I have the validation working perfectly on the client and the server, but would ideally like to pass the GridView ID into the client function so I can move it out into a separate
.js file. The signature for my client function is:
function valOrder_ClientValidate(source, args) { // Code here}
And my CustomValidator control looks like:
[Code]....
Is there a way I can pass an additional parameter into this function?
Is this possible?
using (Entities db = new Entities())
{
LoadDropDownList(ddlFirst, db.MyTable , (bool)(myMember.Id == 0), (int)myMember.RevenueRangeID);
LoadDropDownList(ddlSecond, db.OtherTable , (bool)(myMember.Id == 0), (int)myMember.OtherID);
}
I am stumbling on what the type of the second parameter should be - I am essentially trying to pass in the Entity-Framework 'table' into a generic routine that loads the DropDownList with data from the 'MyTable' table using custom logic/filtering.SInce I do the same thing about 6 times for 6 different dropdownlist/table combos I wanted to use a generic function to accomplish this.
For example, I have master page MyMasterPage.aspx and content page MyDefault.aspx. I have many UpdatePanels at MyMaterPage.aspx, and also I have many UpdatePanels at MyDefault.aspx.
[code]....
I want JavaScript functionClickMenu(this) at input button [id="ButtonMaster1" @ MyMasterPage.aspx] pass its value ["Menu-1"] into text box [id="TextBoxDefault1" @ MyDefault.aspx], and then performing update / doing post-back to server ONLY FOR UpdatePanelDefault1.
I am looking forward an example code for JavaScript functionClickMenu(this).
I have a label "lbl1" that I am trying to locate in a content page from the Master page. I want to do it dynamically so I am trying to pass the name of the control (which in this case is lbl1) through as a parameter. I don't get an error, it just doesn't work. If I do an alert to see what the string "temp" looks like, it is correct, but iit seems as if Javascript ignores it. I believe it has something to do with the '<%= not being interpreted correctly by the browser I'm sure it is a simple solution, but I can't figure it out!
</textarea></p>
<input type='hidden' name='ID[4]' value='104170' />
<input type='hidden' name='URL[4]' value='http://forums.asp.net/t/1540102.aspx' />
<input type='hidden' name='CAT[4]' value='DataSource Controls' />
<input type='hidden' name='BOARD[4]' value='microsoft' />
<input type='hidden' name='P_DATE[4]' value='Mar 25, 2010 04:38 AM' />
<input type='hidden' name='RANDOM[4]' value='MKH9Tb4zY' />
<input type='hidden' name='REPLIES[4]' value='3' />
<input type='hidden' name='USER[4]' value='aziz' />
<p><input class=subject type='text' size='90' name='SUBJECT[4]' value='DataSource Controls :: passing control parameter to sql datasource in code behind' /><select name='INDEXED[4]'><option value='1' selected>UPDATE</option><option value='2'>DELETE</option></select>Mar 25, 2010 04:38 AM - Replies: 3 CAT: DataSource Controls<a target=_blank href="http://forums.asp.net/t/1540102.aspx">View</a></p>
<p> <textarea rows=10 cols=100 name='POST[4]' onfocus='setSelRange(this, 0, 0)'/>
I need to pass the control parameter to Sql Datasource in code behind,
<asp:ControlParameter ControlID="DDL_RType" Name="rtype" PropertyName="SelectedValue"</textarea></p>
<input type='hidden' name='ID[5]' value='119283' />
<input type='hidden' name='URL[5]' value='http://forums.asp.net/t/1574009.aspx' />
<input type='hidden' name='CAT[5]' value='Forms Data Controls' />
<input type='hidden' name='BOARD[5]' value='microsoft' />
<input type='hidden' name='P_DATE[5]' value='Jun 30, 2010 11:12 AM' />
<input type='hidden' name='RANDOM[5]' value='vaWaIeNdo' />
<input type='hidden' name='REPLIES[5]' value='4' />
<input type='hidden' name='USER[5]' value='aziz' />
<p><input class=subject type='text' size='90' name='SUBJECT[5]' value='Forms Data Controls :: Pass parameter to object datasource in user control.' /><select name='INDEXED[5]'><option value='1' selected>UPDATE</option><option value='2'>DELETE</option></select>Jun 30, 2010 11:12 AM - Replies: 4 CAT: Forms Data Controls<a target=_blank href="http://forums.asp.net/t/1574009.aspx">View</a></p>
<p> <textarea rows=10 cols=100 name='POST[5]' onfocus='setSelRange(this, 0, 0)'/>
I have a gridview inside a user control bind to an object datasource. Now I want to bind the object datasource with a parameter from parent page. For this purpose I defined a public property in user control but how do I pass it with object datasource? I am calling from parent page like myusercontrol.parameter=querystring["id"]; How to bind object datasource with my parameter?
</textarea></p>
<input type='hidden' name='ID[6]' value='184482' />
<input type='hidden' name='URL[6]' value='http://stackoverflow.com/questions/3627231/datasource-with-parameter-in-aspx-page-to-move-in-user-control' />
<input type='hidden' name='CAT[6]' value='ASP.NET' />
<input type='hidden' name='BOARD[6]' value='stackoverflow' />
<input type='hidden' name='P_DATE[6]' value='Sep 2 10 at 12:49' />
<input type='hidden' name='RANDOM[6]' value='bYX0jeAEp' />
<input type='hidden' name='REPLIES[6]' value='2' />
<input type='hidden' name='USER[6]' value='aziz' />
<p><input class=subject type='text' size='90' name='SUBJECT[6]' value='asp.net - Datasource with parameter in ASPX page to move in user control' /><select name='INDEXED[6]'><option value='1' selected>UPDATE</option><option value='2'>DELETE</option></select>Sep 2 10 at 12:49 - Replies: 2 CAT: ASP.NET<a target=_blank href="http://stackoverflow.com/questions/3627231/datasource-with-parameter-in-aspx-page-to-move-in-user-control">View</a></p>
<p> <textarea rows=10 cols=100 name='POST[6]' onfocus='setSelRange(this, 0, 0)'/>
I have a page with some datasources in it. I am doing reenginering of the page itself and would like to split some parts of the page in several user controls. In my code I have an ObjectDataSource object with the following params
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server"
TypeName="DataSetTableAdapters.PhotosTableAdapter"
SelectMethod="GetPhotosForAlbum">
<SelectParameters>
<asp:ControlParameter Name="albumID" ControlID="txtAlbumID" Type="Int32"/>
</SelectParameters>
</asp:ObjectDataSource>
This piece of code automatically bind the hidden field "txtAlbumId" to the datasource. In my revision this datasource should be moved to a user control. What is the best way to handle a scenario like this?
</textarea></p>
<input type='hidden' name='ID[7]' value='34389' />
<input type='hidden' name='URL[7]' value='http://forums.asp.net/t/1627446.aspx' />
<input type='hidden' name='CAT[7]' value='Web Forms' />
<input type='hidden' name='BOARD[7]' value='microsoft' />
<input type='hidden' name='P_DATE[7]' value='Nov 26, 2010 08:25 PM' />
<input type='hidden' name='RANDOM[7]' value='UEVLcNi9r' />
<input type='hidden' name='REPLIES[7]' value='4' />
<input type='hidden' name='USER[7]' value='aziz' />
<p><input class=subject type='text' size='90' name='SUBJECT[7]' value='Web Forms :: How to parse a string variable for diplay in control' /><select name='INDEXED[7]'><option value='1' selected>UPDATE</option><option value='2'>DELETE</option></select>Nov 26, 2010 08:25 PM - Replies: 4 CAT: Web Forms<a target=_blank href="http://forums.asp.net/t/1627446.aspx">View</a></p>
<p> <textarea rows=10 cols=100 name='POST[7]' onfocus='setSelRange(this, 0, 0)'/> How can i display the string variable data "234,345,567,678" into a listbox?
i wish to parse the delimited string as seperate items.
the string can vary in length. </textarea></p>
<input type='hidden' name='ID[8]' value='175584' />
<input type='hidden' name='URL[8]' value='http://stackoverflow.com/questions/2866868/datasource-select-parameter-from-get-value' />
<input type='hidden' name='CAT[8]' value='ASP.NET' />
<input type='hidden' name='BOARD[8]' value='stackoverflow' />
<input type='hidden' name='P_DATE[8]' value='May 19 10 at 15:21' />
<input type='hidden' name='RANDOM[8]' value='XYAWdt1ps' />
<input type='hidden' name='REPLIES[8]' value='1' />
<input type='hidden' name='USER[8]' value='aziz' />
<p><input class=subject type='text' size='90' name='SUBJECT[8]' value='c# - DataSource Select Parameter from GET value' /><select name='INDEXED[8]'><option value='1' selected>UPDATE</option><option value='2'>DELETE</option></select>May 19 10 at 15:21 - Replies: 1 CAT: ASP.NET<a target=_blank href="http://stackoverflow.com/questions/2866868/datasource-select-parameter-from-get-value">View</a></p>
<p> <textarea rows=10 cols=100 name='POST[8]' onfocus='setSelRange(this, 0, 0)'/>How can I use the value of a GET form value as a SelectParameter?
Note: Both C# and VB.NET answers are fine.
</textarea></p>
<input type='hidden' name='ID[9]' value='46929' />
<input type='hidden' name='URL[9]' value='http://forums.asp.net/t/1542116.aspx' />
<input type='hidden' name='CAT[9]' value='Web Forms' />
<input type='hidden' name='BOARD[9]' value='microsoft' />
<input type='hidden' name='P_DATE[9]' value='Mar 31, 2010 01:51 AM' />
<input type='hidden' name='RANDOM[9]' value='iX9IkD8rq' />
<input type='hidden' name='REPLIES[9]' value='1' />
<input type='hidden' name='USER[9]' value='aziz' />
<p><input class=subject type='text' size='90' name='SUBJECT[9]' value='Web Forms :: How to pass parameter in DropdownList Datasource' /><select name='INDEXED[9]'><option value='1' selected>UPDATE</option><option value='2'>DELETE</option></select>Mar 31, 2010 01:51 AM - Replies: 1 CAT: Web Forms<a target=_blank href="http://forums.asp.net/t/1542116.aspx">View</a></p>
<p> <textarea rows=10 cols=100 name='POST[9]' onfocus='setSelRange(this, 0, 0)'/>
I just like to know how to pass a parameter to the datasource of my dllItemCodeFooter and dllItemCodeEdit Drowndownlist which calls my getItemCodeList(decimal categoryID) method in the code behind. The value of the parameter will be seletectedValue of the first dropdownlist ddlCategoryFooter or ddlCategoryEdit).I know it could be done in code behind, but i prefer to bind my datasource in asp page. I want to achieve something like this DataSource='<%# getItemCodeList(ddlCategoryEdit.Seletected)%>'
[Code]....
I have one common Data Access function which returns output as datasetwhich is as below
Public
Shared
Function ExecuteDataSet(ByVal sql
[code]...
I need to pass an url from asp.net load_page to flowplayer javascript function here:[URL]
View 2 Replieshow to pass an id parameter to jquery. For instance I have a url: http://localhost:52271/News/Index/1 What I want is id parameter which is 1, in the above url. and I need to pass that id to the script like var = url where url should be the parameter which in this case 1.
View 1 Replies