Prince2/DotNetLearner/HTML5
The blog is created to discuss Prince2 methodology any issues faced in project management to be resolved or discussed and .Net Technology
Wednesday, November 7, 2018
DotNetCor2.1 Api CORS (Enable Cross Origin request)
The cross origin request are sometimes dreadful. This needs to be addressed at the api level
In Dotnet Core 2.1 we can handle it elegantly.
1) Install NuGet package Microsoft.AspNetCore.Cors from NuGet Package Manager.
2) Call AddCors in Startup.ConfigureServices to add CORS services to the app's service container
public void ConfigureServices(IServiceCollection services) { services.AddCors( O => O.AddPolicy("MyPolicy" , builder =>
{
builder.AllowAnyOrigin()
.AllowAnyMethod()
.AllowAnyHeader();
}
));
}
3) My project is WebApi so i will use Enable CORS with CORS Middleware
approach.
public void Configure(IApplicationBuilder app, IHostingEnvironment env,
ILoggerFactory loggerFactory)
{ loggerFactory.AddConsole(); if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } // Shows UseCors with CorsPolicyBuilder. app.UseCors("MyPolicy");
}
4) Add the attribute []
on the controller or on the method if you need to be more specific
Tuesday, November 7, 2017
Retreiving field value in XML using cross apply
1) First we will cast the field data in a table to type xml from type text
2) you need to use with operator if namespace is defined ;WITH XMLNAMESPACES(DEFAULT 'http://schemas.datacontract.org/2004/07/Psv.Domain.Models.PexaNoa')
3) consider ContentXML as
'<Name>
<First>Jacob</First>
<Last>Sebastian</Last>
</Name>'
Begin
SELECT ContentXML INTO #tab12
FROM
(Select
Cast(data as xml) AS ContentXML
from ABC
) a
;WITH XMLNAMESPACES(DEFAULT 'http://schemas.datacontract.org')
SELECT t.value('(./First)[1]','NVARCHAR(MAX)') as FirstName
FROM #tab12
Cross Apply ContentXML.nodes('/Name') x(t)
Drop table #tab12
End
2) you need to use with operator if namespace is defined ;WITH XMLNAMESPACES(DEFAULT 'http://schemas.datacontract.org/2004/07/Psv.Domain.Models.PexaNoa')
3) consider ContentXML as
'<Name>
<First>Jacob</First>
<Last>Sebastian</Last>
</Name>'
Begin
SELECT ContentXML INTO #tab12
FROM
(Select
Cast(data as xml) AS ContentXML
from ABC
) a
;WITH XMLNAMESPACES(DEFAULT 'http://schemas.datacontract.org')
SELECT t.value('(./First)[1]','NVARCHAR(MAX)') as FirstName
FROM #tab12
Cross Apply ContentXML.nodes('/Name') x(t)
Drop table #tab12
End
Friday, October 14, 2016
How to get a nested td value in Jquery
I have a difficult task at hand to get the value of a "td" which is generated by Keno Grid and its really driving me crazy due to time constraint at client end. Following is the solution.
Main div has id which gave me hope
the mock structure is below
<div id="mainDiv">
<div>
<div class="div-class">
<table>
<thead>
<tr>
<td>
header1
</td>
<td>
header 2
</td>
</tr>
</thead>
</table>
</div>
</div>
<div class="k-grid-content">
<table border="1">
<tbody>
<tr>
<td role="gridcell">column1</td>
<td role="gridcell">column2</td>
</tr>
<tr>
<td role="gridcell">columnn3</td>
<td role="gridcell">column4</td>
</tr>
</tbody>
</table>
</div>
</div>
<script>
$('#mainDiv').on('click', '.div-class table tbody tr', function () {
var value= $(this).find("td:first-child").text();
});
</script>
1) First capture the click event of the div with id.
2) Access the div you require with class name "div-class".
3) Access the "table".
4) Access the "tbody"
5) Access the "tr"
then get the values you require. Our requirement was to have first column value.
Labels:
Jquery,
nested div table tr td
Location:
United States
Wednesday, September 7, 2016
How to access the MVC controller using Jquery to get things done.
I have to do a task using jquery and calling controller method. Following is the code to achieve it.
1) div click.
2) the value is take from the "td".
3) passed to the ajax method.
4) show result in another grid.
Jquery part
$('#mainDiv').on('click', '.child-class table tbody tr', function () {
var Code = $(this).find("td:first-child").text();
$.ajax({
type: "POST",
async: true,
datatype: "json",
url: "/Controller/Method",
data: { "Code": "" + Code + "" },
success: function (data) {
$("#ToolTipCode").text(data);
},
error: function (x) {
$("#ToolTipCode").text("Doesnot exist.");
}
});
});
MVC controller
[HttpPost]
public ActionResult Method(string Code)
{
// do your stuff
return Json(codeWithDescription);
}
1) div click.
2) the value is take from the "td".
3) passed to the ajax method.
4) show result in another grid.
Jquery part
$('#mainDiv').on('click', '.child-class table tbody tr', function () {
var Code = $(this).find("td:first-child").text();
$.ajax({
type: "POST",
async: true,
datatype: "json",
url: "/Controller/Method",
data: { "Code": "" + Code + "" },
success: function (data) {
$("#ToolTipCode").text(data);
},
error: function (x) {
$("#ToolTipCode").text("Doesnot exist.");
}
});
});
MVC controller
[HttpPost]
public ActionResult Method(string Code)
{
// do your stuff
return Json(codeWithDescription);
}
Friday, May 1, 2015
SP 2013 Auto Hosted App Discontinued
Share Point 2013 App Model Auto Hosted App option was in Preview and it was discontinued on 30-June-2014,
Error: When you try to deploy AutoHosted App to your O365 it will give you following error
something went wrong error
Cause: Microsoft Announcement about AutoHosted App
Now you can covert the autohosted to Provider hosted app use the following MSDN link to convert your applications.
Solution:How to Convert AutoHosted App to ProviderHosted App
Error: When you try to deploy AutoHosted App to your O365 it will give you following error
something went wrong error
Cause: Microsoft Announcement about AutoHosted App
Now you can covert the autohosted to Provider hosted app use the following MSDN link to convert your applications.
Solution:How to Convert AutoHosted App to ProviderHosted App
Location:
Al Jubail Saudi Arabia
Friday, April 24, 2015
Starting the SharePoint Central Admin giving runtime Error
When Starting the Share point Central Administration I get Run-time Error.
Follow the steps below
1) Go to IIS
2) Expand the "Sites" folder and select "SharePoint Central Administration v4 " virtual directory
3) In the "Actions" section click Explore
4) The site physical folder will open and contains web.config file.
5) Open web.config file find the "CustomErrors" tag.
6) Set its mode attribute to mode="Remoteonly"
7) Refresh and Re-open the central Administration Site in browser
8) You will Get the following error now
Error: This operation can be performed only on a computer that is joined to a server farm by users who have permissions in SQL Server to read from the configuration database. To connect this server to the server farm, use the SharePoint Products Configuration Wizard, located on the Start menu in Microsoft SharePoint 2010 Products.
Cause: SQL Server for SharePoint services stopped due to restart of my machine
9) Now Open the Services.msc
10) Restart the "SQL Server(SHAREPOINT)" service
11) Also Enable and Restart the "SQL Server Agent (SHAREPOINT)"
12) Also Enable and Restart "SQL Server Browser"
PS: I hope this helps. Please drop your comments.
Location:
Al Jubail Saudi Arabia
Tuesday, April 14, 2015
how to use requiredfield validator with dropdownlist
Here is how we can use requiredfieldvalidator with dropdownlist.
Set the below property of the dropdownlist control
AppendDataBoundItems = true
Then Insert a default value in the Page_Load event
ddl.Items.Insert(0, new ListItem("<<-Select-->", "-1"));
Now define the required field validator and set its initialvalue attribute to "-1"
<asp:RequiredFieldValidator ID="reqddl" runat="server" Text="*" ControlToValidate="ddlRole" InitialValue="-1" SetFocusOnError="true" Display="Dynamic" ValidationGroup="Add"></asp:RequiredFieldValidator>
Happy coding :)
Location:
Al Jubail Saudi Arabia
Monday, March 2, 2015
Hide and Show div using Jquery
We have a requirement to hide and show our Grid in a div.
Following is the code to achieve this functionality
Define the first div which shows the caption Show/Hide. Whenever the mouse is over the div "divtoggle1" second div "divOrders" is either shown or hidden
The below <Div> is defined with caption Show/Hide
<div id="divtoggle1" style="text-align:left;width:250px">
Show/Hide
</div>
The below <Div> contains the GridView which we need to Show/Hide
<div id="divOrders">
<asp:GridView ID="grvOrders" runat="server" AutoGenerateColumns="False" >
<Columns>
<asp:TemplateField HeaderText="firstcolumn" >
<ItemTemplate>
<asp:LinkButton ID="lnkName" runat="server" Text='<%#
DataBinder.Eval(Container.DataItem,"Names") %>' CommandName="OrderDetail">
</asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
The Jquery part which toggle the div
we are access the div "divtoggle" with "#" sign because in Jquery when you want to access any element by ID you have to use "#" sign before the name of element.
we call the "divtoggle1" mouseover event and in that event we are checking the second div "divOrders".
if "#divOrders" visible then hide it or if it is hidden then make it visible. we also added delay function to make the Show/Hide smooth and we used hide argument "slow".
<script type="text/javascript">
$(document).ready(function () {
$("#divtoggle1").mouseover(function () {
if ($('#divOrders').is(':visible')) {
$("#divOrders").delay(100).hide('slow');
$("#divtoggle1").text('Show Orders');
}
else {
$("#divOrders").delay(100).show('slow');
$("#divtoggle1").text('Hide Orders');
}
}); // end of mouse over
}); // end of ready function
</script>
Following is the code to achieve this functionality
Define the first div which shows the caption Show/Hide. Whenever the mouse is over the div "divtoggle1" second div "divOrders" is either shown or hidden
The below <Div> is defined with caption Show/Hide
<div id="divtoggle1" style="text-align:left;width:250px">
Show/Hide
</div>
The below <Div> contains the GridView which we need to Show/Hide
<div id="divOrders">
<asp:GridView ID="grvOrders" runat="server" AutoGenerateColumns="False" >
<Columns>
<asp:TemplateField HeaderText="firstcolumn" >
<ItemTemplate>
<asp:LinkButton ID="lnkName" runat="server" Text='<%#
DataBinder.Eval(Container.DataItem,"Names") %>' CommandName="OrderDetail">
</asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
The Jquery part which toggle the div
we are access the div "divtoggle" with "#" sign because in Jquery when you want to access any element by ID you have to use "#" sign before the name of element.
we call the "divtoggle1" mouseover event and in that event we are checking the second div "divOrders".
if "#divOrders" visible then hide it or if it is hidden then make it visible. we also added delay function to make the Show/Hide smooth and we used hide argument "slow".
<script type="text/javascript">
$(document).ready(function () {
$("#divtoggle1").mouseover(function () {
if ($('#divOrders').is(':visible')) {
$("#divOrders").delay(100).hide('slow');
$("#divtoggle1").text('Show Orders');
}
else {
$("#divOrders").delay(100).show('slow');
$("#divtoggle1").text('Hide Orders');
}
}); // end of mouse over
}); // end of ready function
</script>
Monday, February 2, 2015
Passing-parameter-value-through-a-function-from-anchor-tag-in-a-gridview
We have a requirement where we have to pass Session values and DataBound values to Javascript function using Anchor tag in Gridview.
Javascript function description
<script language="javascript" type="text/javascript">
function OpenAttachmentWindow(roomId, StudentId, Id)
{
var ReadOnly = 0;
window.open('UploadSupplierAttachments.aspx?roomId=' + roomId + '&studentId=' +
StudentId + '&id=' + Id + '&ReadOnly=' + ReadOnly, '', 'width=700,height=500')
}
</script>
Gridview Template column
We have anchor html control which will pas the server side arguments to javascript function.
<asp:TemplateField HeaderText="view">
Following is the Anchor defined in the Gridview where we are passing Session and Eval values as parameter to the Javascript function
OpenAttachmentWindow(roomId,StudentId,Id).
OpenAttachmentWindow(roomId,StudentId,Id).
Javascript function description
<script language="javascript" type="text/javascript">
function OpenAttachmentWindow(roomId, StudentId, Id)
{
var ReadOnly = 0;
window.open('UploadSupplierAttachments.aspx?roomId=' + roomId + '&studentId=' +
StudentId + '&id=' + Id + '&ReadOnly=' + ReadOnly, '', 'width=700,height=500')
}
</script>
Gridview Template column
We have anchor html control which will pas the server side arguments to javascript function.
<asp:TemplateField HeaderText="view">
<ItemTemplate>
<a onclick='<%# "OpenAttachmentWindow(" +Session["roomId"] + " , " +
Session["StudentId"] + ", " + Eval("Id") +" );" %>' id="a1" runat="server" >Attachment </a>
Session["StudentId"] + ", " + Eval("Id") +" );" %>' id="a1" runat="server" >Attachment </a>
</ItemTemplate>
</asp:TemplateField>
Location:
Al Jubail Saudi Arabia
Wednesday, January 21, 2015
Compare Validator DataTypeCheck
I have been using asp.net Validator controls for quite long. I have come across the unexplored property of Compare Validator which can check input against following types
1) Currency
2) Date
3) Double
4) Integer
5) String
you can use the Validator by setting the following properties
Operator="DataTypeCheck"
Select any of the below types for data type check
Type= Currency
Date
Double
Integer
String
Example:
<asp:CompareValidator ID="CompareValidatorNumber" runat="server" ControlToValidate="txtTelephone" Text="*" Display="Dynamic" ErrorMessage="Please enter numbers only" Operator="DataTypeCheck" Type="String"></asp:CompareValidator>
Location:
Al Jubail Saudi Arabia
Subscribe to:
Posts (Atom)