I'm having a very frustrating day trying to create a chart using ASP / C# / Razor / WebMatrix. If someone could look over my code and tell me what I'm doing wrong, I'd really appreciate it.

When I try to see the chart in my browser, I'm getting a completely unhelpful response. Even though I'm running on localhost, I'm getting none of the error messages that I usually get when I've made a booboo. Instead, I get:

The page isn't redirecting properly. Firefox has detected that the server is redirecting the request for this address in a way that will never complete. This problem can sometimes be caused by disabling or refusing to accept cookies.

Anyway, so to my head-scratchingly wrong code. I start with a simple SQL query:

sqlCommand = "SELECT Date,Q01,Q02,Q03,Q04,Q05,Q06,Q07,Q08,Q09,Q10,Q11,Q12,Q13,Q14 FROM Asse WHERE ClientID = @0 ORDER BY Date asc";
var asse = db.Query(sqlCommand, ClientID);

And then we come to creating the chart:

var AsseTotal = new Chart(width: 1200, height: 800, themePath: "~/Admin/Charts/XML/AsseTotal.xml")
    .AddTitle("All Asse")
    .AddSeries(
        XValueType: DateTime,
        chartType: "StackedColumn",
        name: "Question 01",
        xValue: asse, 
        xField: "Date",
        yValues: asse, 
        yFields: "Q01"
        )
    .AddSeries(
        chartType: "StackedColumn",
        name: "Question 02",
        yValues: asse, 
        yFields: "Q02"
        )
// more series come here, which I've excluded to keep this question shorter
        .Write();

And then there's the AsseTotal.xml file I'm using to define the theme. I'd guess the relevant bit of it is:

  <ChartAreas>    
    <ChartArea Name="Default" _Template_="All" 
           BackColor="White" 
           ShadowColor="#aaaaaa"
           ShadowOffset="2"
           BorderColor="#cccccc" 
           BorderDashStyle="Solid"  
           Position="5,5,90,90">      
      <AxisY LineColor="#cccccc" IsLabelAutoFit="true" IsMarginVisible="true" >        
        <MajorGrid Interval="1" LineColor="#cccccc" />   
        <MajorTickMark LineColor="#aaaaaa" LineWidth="1" LineDashStyle="Solid" /> 
        <MinorGrid Interval="1" LineColor="#cccccc" />   
        <MinorTickMark LineColor="#aaaaaa" LineWidth="1" LineDashStyle="Solid" /> 
        <LabelStyle Font="Verdana, 10 px" />      
      </AxisY>      
      <AxisX LineColor="#cccccc" IsLabelAutoFit="true" IsMarginVisible="true">        
        <MajorGrid LineColor="#cccccc" /> 
        <MajorTickMark LineColor="#666666" />   
        <MinorGrid LineColor="#cccccc" /> 
        <MinorTickMark LineColor="#666666" />   
        <LabelStyle Font="Verdana, 12 px" Format="d-M-yyyy" />      
      </AxisX>     
     </ChartArea>  
    </ChartAreas>  

I'm wondering whether my issue relates to dates (and/or dateformats) being used for the X-axis. I'm getting no syntax errors in WebMatrix, but can you spot any error in my coding?

I am encountering an error at Database creation at Application Start whereas the exact same code works perfectly fine in all other projects.

Startup function in Startup.cs

public Startup(IHostingEnvironment env)
{
    // Set up configuration sources.
    var builder = new ConfigurationBuilder()
            .AddJsonFile("appsettings.json")
            .AddEnvironmentVariables();

    if (env.IsDevelopment())
    {
        // This will push telemetry data through Application Insights pipeline faster, allowing you to view results immediately.
            builder.AddApplicationInsightsSettings(developerMode: true);
    }
    Configuration = builder.Build();
    Globals.Configuration = Configuration;
    Globals.HostingEnvironment = env;
    Globals.EnsureDatabaseCreated();
}

Globals.EnsureDatabaseCreated()

public static void EnsureDatabaseCreated()
    {
        var optionsBuilder = new DbContextOptionsBuilder();
        if (HostingEnvironment.IsDevelopment()) optionsBuilder.UseSqlServer(Configuration["Data:dev:DataContext"]);
        else if (HostingEnvironment.IsStaging()) optionsBuilder.UseSqlServer(Configuration["Data:staging:DataContext"]);
        else if (HostingEnvironment.IsProduction()) optionsBuilder.UseSqlServer(Configuration["Data:live:DataContext"]);
        var context = new ApplicationContext(optionsBuilder.Options);
        context.Database.EnsureCreated();

        optionsBuilder = new DbContextOptionsBuilder();
        if (HostingEnvironment.IsDevelopment()) optionsBuilder.UseSqlServer(Configuration["Data:dev:TransientContext"]);
        else if (HostingEnvironment.IsStaging()) optionsBuilder.UseSqlServer(Configuration["Data:staging:TransientContext"]);
        else if (HostingEnvironment.IsProduction()) optionsBuilder.UseSqlServer(Configuration["Data:live:TransientContext"]);
        new TransientContext(optionsBuilder.Options).Database.EnsureCreated();
    }

ApplicationContext.cs

public class ApplicationContext : DbContext
{
    public DbSet<Models.Security.User> Logins { get; set; }
    public DbSet<Models.Security.Session> Sessions { get; set; }
    public DbSet<Models.Security.Verification> VerificationTokens { get; set; }

    public DbSet<Models.CRM.User> Users { get; set; }
    public DbSet<Models.CRM.Organization> Merchants { get; set; }
    public DbSet<Models.CRM.LinkedAddress> Shops { get; set; }
    public DbSet<Models.CRM.ContactDetail> ContactDetails { get; set; }
    public DbSet<Models.CRM.Location> Locations { get; set; }

    public ApplicationContext(DbContextOptions options) : base(options)
    {
    }
}

Error Screenshot

enter image description here

Edit : I request the down voter to at least leave a comment to specify the reason for down vote so that i can improve on it.

I am building a website with ASP.NET MVC 6 and i discover NPM, Bower & Gulp. I've understood the utility of each one.

I would like to know how to organize my "wwwroot" folder. I assuming that i need to have my final bundled and minified css & js files in the "wwwroot" folder.

But where do i put my LESS, SCSS and custom JS files ? in "wwwroot" folder too or in a folder in my solution ?

And if i want to use boostrap for example, but with LESS sources, where do i put them ?

Thinking of CMS use cases here. Imagine a view like this:

// /Home/Index.cshtml
@model object
@{
  var str = "My <b>CMS</b> content with razor code: @Html.ActionLink(\"Click\", \"Home\")"
}
@Html.MyCustomRazorStringRenderer(Model)

Expected output:

My <b>CMS</b> content with razor code: <a href="/Home/Click">Click</a>

What does MyCustomRazorStringRenderer look like? It must somehow do sth. like creating/using the ViewContext and render it (like here: Render a view as a string) but I can't quite get my head around it.

This question already has an answer here:

Hello i am begginer in c#. I Need to append a value to a textbox in a Form(udpsendrecv) from a another class(udp). I searched for many answers but none of them are similar to my question.

Here are my form and class code.

The value i get in string Output will be like "2d346e234d56". I Need to append the substring of Output to a textboxs in the form udpsendrecv. how can i do this? i tried my best by refering different examples. Your answers will help me lot. Thank you

public partial class udpsendrecv : Form
{
    public udpsendrecv()
    {
        InitializeComponent();
    }

    public void AppendTextBox(string value)
    {
        if (InvokeRequired)
        {
            this.BeginInvoke(new Action<string>(AppendTextBox), new object[] { value });
            return;
        }
        textBox1.Text = value;
    }
      public void AppendTextBox1(string value)
    {

        if (InvokeRequired)
        {
            this.BeginInvoke(new Action<string>(AppendTextBox1), new object[] { value });
            return;
        }
        textBox2.Text = value;
    }

    public void AppendTextBox2(string value)
    {

        if (InvokeRequired)
        {
            this.BeginInvoke(new Action<string>(AppendTextBox2), new object[] { value });
            return;
        }
        textBox3.Text = value;
    }
    public void Textboxclear()
    {
        if (InvokeRequired)
        {
            this.BeginInvoke(new Action<string>(AppendTextBox1), new object[] { });
            return;
        }

        textBox1.Clear();
    }

    public void UpdateTextBox(string text)
    {
        Invoke((MethodInvoker)delegate {
            textBox1.AppendText(text + "\r\n");
        });
    }
 }}

class UDP
{
public  void Receive(IAsyncResult ar)
    {
        IPEndPoint ip = new IPEndPoint(IPAddress.Any, PORT_NUMBER);
        byte[] bytes = udp.EndReceive(ar, ref ip);
        string output= BitConverter.ToString(bytes);
        int chunkSize = 4;
        int stringLength = output.Length;
        string[] Elements = new string[25];
        int j = 0;
        for (int i = 0; i < stringLength; i += chunkSize)
        {
            if (i + chunkSize > stringLength)
                chunkSize = stringLength - i;

            Elements[j] = output.Substring(i, chunkSize);
            j++;
        }
         udpsendrecv hi = new udpsendrecv();

        short a = Convert.ToInt16(Elements[0], 16);
        hi.AppendTextBox(a.ToString());
        short b = Convert.ToInt16(Elements[1], 16);
        hi.AppendTextBox1(b.ToString());
        short c = Convert.ToInt16(Elements[2], 16);
        hi.AppendTextBox2(c.ToString());

 }}

I've come across few sitecore implementations where virtual users have been used on CD (content delivery) where site has a membership (login state).

We are migrating a site from java CMS to sitecore and has login state using azure ADB2C and Social login providers. Once logged in the user will be redirected to Sitecore CD with token. Based on user membership type we will need to show hide menu items and widgets across the site.

I am aware that one of the advantage of using Virtual user is no license cost on sitecore user.

Appreciate if someone could please help me understand below:

  1. What other scenarios do we have to use Virtual users in CD?
  2. What is the advantage of using Virtual users given that we could manage the user details in Session?
  3. What are the disadvantages of using Virtual users in CD?
  4. Is it best option to use virtual user and sitecore roles to secure menu items and pages? Or apply the security from asp.net linq query etc?

Thanks.

I have a block of code which gets a file and appends require data as shown below:

var srBuilder = new StringBuilder();
using (var file = new StreamReader(document.FullSourcePath, Encoding.ASCII))
            {
                while (!file.EndOfStream)
                {                 
                    var bytess = new char[numBytes];
                    file.ReadBlock(bytess , 0, bytess.Length);
                    srBuilder.Append(buff);
                }

                document.Document += srBuilder.ToString();  ////Exception occures here
            }

But when file is more than 200 MB then its throwing OutofMemoryException.

What i thought is to make length of string builder to zero as below:

 while (!file.EndOfStream)
        {  
            srBuilder.Length = 0;      //// Here         
            var bytess = new char[numBytes];
            file.ReadBlock(bytess , 0, bytess.Length);
            srBuilder.Append(buff);
        }

Is it best solution or anything else is required?

I want to use bootsrap in my asp.net 4 project.

I installed bootstrap in visual studio using nuget:

enter image description here

I have global css file:

    /*Global styles*/
body, form
{
    direction: rtl;
    font-family: Arial;
    font-size: 16px;
    color: #333333;
    margin: 0px;
    padding: 0px;
    background-position: bottom;
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-color: #f8f8f8;
}
input[Type=text], input[Type=password], input[Type=button], input[Type=submit], input[Type=reset], input[Type=file], select, textarea
{
    margin: .2em .05em;
    border: 1px solid #333333;
    color: #333333;
}
input[Type=text], input[Type=password], input[Type=file], select, textarea
{
    max-width: 225px;
    width: 98%;
}
input[Type=text]:disabled, input[Type=password]:disabled, input[Type=file]:disabled, select:disabled, textarea:disabled
{
    background-color: #E6F6FA;
}
input[Type=button], input[Type=submit], input[Type=reset]
{
    background-color: #EEEEEE;
    cursor: pointer;
}
input[Type=button]:hover, input[Type=submit]:hover, input[Type=reset]:hover
{
    background-color: #DCDCDC;
}

I need to define style of the buttons and other elements using bootstrap, I want to it in global css file.

So my question how can I use bootstrap in css file?

I have created a school management system using asp.net webforms. In this system there are three modules i.e admin, teacher and student. Now i want to implement virtual classroom but don't know how i should start. I have searched many sites but not clear about it. I just want to know how can start it. If some good resources can be suggested then it will be appreciated.

This question already has an answer here:

Why did I loose my bootstrap styling after I switched from html.textboxfor to html.editorfor?

I switched because I wasn't getting email validation on the textboxfor, I get it now when I use editorfor, but I've lost my styling.

Here are some pics and my code

    [Required]
    //[EmailAddress(ErrorMessage = "Invalid email address")]
    [DataType(DataType.EmailAddress)]
    [Display(Name = "Email")]
    public string Email { get; set; }

here is my html

@Html.TextBoxFor(m => m.Email, new { @class = "form-control input-lg", @placeholder = "e.g. example@url.com" })

enter image description here

then I switched to editorfor

@Html.EditorFor(m => m.Email, new { @class = "form-control input-lg", @placeholder = "e.g. example@url.com" })

enter image description here

I have a view as below

   @foreach (var company in Model)
    {
        <tr>
            <td>
                @company.CompanyName
            </td>
            <td>
                @company.CompanyNumber
            </td>
            <td>
                @Html.Encode(company.IsLiveDatabase ? "Canlı" : "Test")
            </td>
        </tr>
    }

If i use Encode as below for "Canlı" value displays as "Canl�"

@Html.Encode(company.IsLiveDatabase ? "Canlı" : "Test")

I also tried as below however it is not worked for me.

@Html.Raw(Html.Encode(company.IsLiveDatabase ? "Canlı" : "Test"))

@Html.Raw(company.IsLiveDatabase ? "Canlı" : "Test")

@Html.Raw((company.IsLiveDatabase ? "Canlı" : "Test"))

How can i solve syntax problem in asp.net mvc 6 razor?

Any help will be appreciated.

Thanks.

How to check if the value is already there before inserting into sql using asp.net

here is the current code :

    protected void Button1_Click(object sender, EventArgs e)
{
    SqlCommand cmd = new SqlCommand("insert into customers_testing (cust_id,cust_name,cust_group,acc_mgr2,acc_mgr) values('" + textCustID.Text + "','" + textCustName.Text + "','" + textCustSector.Text + "','" + dropdAccAdmin.Text + "','" + dropdAccManager.Text + "')", con);
    cmd.ExecuteNonQuery();
    con.Close();
    Label1.Visible = true;
    Label1.Text = "New Customer Added Successfully";
    textCustID.Text = "";
}

I plan to implement a GraphQL API in .NET on IIS and dataLoader API as a Node.js app server. GraphQL will interface to dataLoader to SQL Server.
All applications will be on a single physical server for now, but may possibly be separated in the future if scalability requires.

My reasons for this:

  • Existing code depends on IIS/COM/DCOM/ActiveX/.NET/ASP/ASPX
  • Simpler to implement and reason
  • Access control (web server doesn't need to see dataLoader code and ACLs can be implemented in dataLoader)
  • Makes it easier if I get the chance to interface with a different db (redis, mongodb, etc)
  • I can gradually slice and port parts of the code to allow easier code sharing (with separate Linux servers)
  • (I like) Node.js open to exploration, but cannot opt-in yet

First off, does this make sense or am I asking for trouble?

Would it make sense to use a binary serialization format between GraphQL and dataLoader? Or perhaps just a simple web service would be simpler?
Am I risking performance problems from more round-tripping? (Question too open-ended? Intuitively it seems like this would scale better eventually)
Is there a need for explicit authentication between GraphQL and dataLoader? Or can I just send session data (with username) through as-is and just let dataLoader trust the username given as context? Maybe pass a token? Are JWT tokens useful here?

I am trying to troubleshoot why my newly installed IIS is not properly serving my ASP.net application. Right now I am running it locally, and trying to connect to it from a browser.

The Bindings for the site are *:80 (http), and it is the only Site currently Started within my IIS. The address being used from within in browser is localhost or the computername. I have also tried connecting to the computer from another computer on the same network using the computername, and get the same blank page.

If I change the bindings to something else, like jrqmzed.com on *:80 (http), then when connecting to those same addresses from within a browser I get:

HTTP Error 404: The requested resource is not found.

If I stop the site, then when connecting to those same addresses from within a browser I get:

This site can't be reached in Chrome, and

Unable to connect in Firefox.

From searching online thus far, I have ensured that my IIS is set to serve Static Content. For sanity sake, I currently has all options checked under "Turn Windows features on or off" > "Internet Information Services" except FTP Server.

I am running 64bit Windows 7 Professional. The ASP.net application currently works on a separate computer with IIS 7.5, and I could not immediately notice any difference in settings between that computer's IIS and my newly installed IIS.

How else can I troubleshoot this problem?

My grid works but, I would like to display lines between the grid columns. I have tried making several changes but, nothing happens. I would also like to widen the grid because the words on some of my columns are wrapping.

Below is the code for the grid:

<div id="Divgrid">
     @if (Roles.IsUserInRole(UserId, "admin") && (AdminData.Any())){
              @AdminGrid.GetHtml(
              tableStyle: "grid",
              headerStyle: "grid-header",
              footerStyle: "grid-footer",
              alternatingRowStyle: "grid-alternating-row",
              selectedRowStyle: "grid-selected-row",
              rowStyle: "grid-row-style",
              columns: AdminGrid.Columns(
                   AdminGrid.Column(header:"", format:@<a href="View/@item.Id">View</a>),
                   AdminGrid.Column(header:"", format:@<a href="Treatment/@item.Id">Treatment</a>),
                   AdminGrid.Column("Name", format:@<text>@item.ClientName</text>),
                   AdminGrid.Column("Date", format:@<text>@item.SubmitDate</text>))) }
        else if (Roles.IsUserInRole(UserId, "user") && (data.Any())) {
                 @grid.GetHtml(
                 tableStyle: "grid",
                 headerStyle: "grid-header",
                 footerStyle: "grid-footer",
                 alternatingRowStyle: "grid-alternating-row",
                 selectedRowStyle: "grid-selected-row",
                 rowStyle: "grid-row-style",
                 columns: grid.Columns(
                      grid.Column(header:"", format:@<a href="View/@item.Id">View</a>),
                      grid.Column(header:"", format:@<a href="Treatment/@item.Id">Treatment</a>),
                      grid.Column("Name", format:@<text>@item.ClientName</text>),
                      grid.Column("Date", format:@<text>@item.SubmitDate</text>))) }                    

   </div>

Here is the code in my Site.css:

.grid
   {
       margin: 4px; 
       width: 960px;   
       border-collapse: collapse;
       border: 1px solid #d2d2d2;
   }

   .grid a
   {
       color: #000;
   }

    .grid-row-style td
    {
        text-align:left;
        border: 1px solid #d2d2d2;
        padding: 5px;
    }
    .grid-header th
    {
        text-align:left;
        border: 1px solid #d2d2d2;         

        padding-right:20px;
        padding-left:20px;
    }
    .grid-alternating-row td
    {
        text-align:left;
        border: 1px solid #d2d2d2;
        padding: 5px;
    }
   .grid-header
   {
       padding: 6px 5px;
       text-align: left;
       border: 1px solid #d2d2d2;
       background-color: #e8eef4;
       border-bottom: 2px solid #3966A2;
       height: 40px;

       border-top: 2px solid #D6E8FF;
       border-left: 2px solid #D6E8FF;
       border-right: 2px solid #D6E8FF;
   }

   .grid-footer
   {
       padding: 6px 5px;
       text-align: center;
       background-color: #e8eef4;
       border-top: 2px solid #3966A2;
       height: 30px;

       border-bottom: 2px solid #D6E8FF;
       border-left: 2px solid #D6E8FF;
       border-right: 2px solid #D6E8FF;
   }

   .grid-alternating-row
   {
      height: 30px;
      background-color: #f2f2f2;
      border: 1px solid #d2d2d2;
      border-bottom: 2px solid #d2d2d2;

      border-left: 2px solid #D6E8FF;
      border-right: 2px solid #D6E8FF;
  }
    .grid-row-style
   {
      height: 30px;
      border: 1px solid #d2d2d2;
      border-bottom: 2px solid #d2d2d2;
      padding: 5px;

      border-left: 2px solid #D6E8FF;
      border-right: 2px solid #D6E8FF;
   }

   .grid-selected-row
   {
       font-weight: bold;
   }

I am attempting to hide/show rows using Accordion. I verified that accordion works on this:

<div id="accordion">
   <h3>Some 1:</h3>
      <div><p>ABC</p></div>
   <h3>Some 2:</h3>
      <div><p>Muris</p></div>
</div>

But when attempting to use it for my application, it's not working. Below is what I'm trying to accomplish. I'm not sure if it's the placement of some of the tags, simply accordion does not work within a table element, or the razor syntax is an issue.

<table>
<tr>
    <th>Name</th>
    <td>@Html.Display("Name")</td>
</tr>
<tr>
    <th>Event</th>
    <th>Program</th>
</tr>
<div id="accordion">
 @for (var i = 0; i < @ViewBag.Events.Count; i++)
{
<tr>
    <td><h3>@ViewBag.Events[i].Event</h3></td>
    <td>@ViewBag.Events[i].Program</td>
</tr>
@Html.Raw("<div>")
<tr>
    <td>Value A</td>
    <td>Value B</td>
</tr>
for (var j = 0; j < @ViewBag.Events[i].Azc.Count; j++)
{
<tr>
    <td>@ViewBag.Events[i].Azc[j].ValueA</td>
    <td>@ViewBag.Events[i].Azc[j].ValueB</td>
</tr>
}
@Html.Raw("</div>")
}
</div>

So basically, I want all the Event/Programs to be visible as rows, and upon clicking one of the rows, the rest of the rows for that Event are shown.

Web.config:

<system.web>
   <authentication mode="Forms">
     <forms loginUrl="~/Account/LogOn" timeout="1" />
   </authentication>
   <sessionState mode="InProc" cookieless="false" timeout="1"></sessionState>
</system.web>

For registration:

FormsAuthentication.SetAuthCookie(model.UserName, false);

In my LogOn method I am also setting an Auth Cookie:

FormsAuthentication.SetAuthCookie(model.UserName, model.RememberMe);

Remember Me is always false.

In my Navbar, I have a conditional which checks If the request is Authenticated, and if it is not then the logon button shows.

@if(Request.IsAuthenticated)
{....}
else 
{
<ul class="nav nav-pills">
    <li role="presentation">@Html.ActionLink("Home", "Index", "Home", null, new { title = "Return to the homepage" })</li>
    <li role="presentation">@Html.ActionLink("Log On", "LogOn", "Account", null, new { title = "To Logon to the site." })</li>
</ul>
}

After one minute I'm pretty sure the user is logged out, because the Nav shows the logon button, not the log-off button, but when I click on a link, it takes me to that page instead of redirecting to the logon page.

Could this be because I haven't added the [Authorize] attribute to my controller methods? I am a beginner with .NET MVC development so any help at all is greatly appreciated.

I have hosted a web api 2 asp.net project in azure.

How can I monitor the incoming urls without changing the source code like

LogInTextFile(Request.UrlReferer);

I have setup an ASP.NET application on a Windows 2012 server and a SQL Server 2012 instance on another Windows 2012 server. I want to use Windows Authentication to connect to the SQL server due to security reasons.

There is a Windows user IUSRSQL, which has been added to the SQL Server and can access the relevant database tables and the data.

My connection string is:

Server=DB-SERVER;Database=MY-DB;Trusted_Connection=True;Encrypt=True;TrustServerCertificate=True

How do I tell IIS to connect to the SQL server as IUSRSQL?

The ASP.NET application is using Forms authentication for its users.

Is this configuration secure?

Thanks

I have a problem with the control MultiView. I create a webpart for SharePoint 2013 that has a user control. In it I have one Multiview with a few View. Problem affects postback. Each time you postback choice view is reset, for example, I'm on view 3 and I click the button. Changes in view 3 are preserved, but MultiView has not set the selected view. Anyone know what could be the reason?

i am able to see the jpeg file on my gridview but what i want is to see the image itself. here is my button code:

protected void Button1_Click(object sender, EventArgs e)
    {
        if (FileUpload1.HasFile)
        {
            string bname = TextBox1.Text;
            string city = DropDownList1.SelectedValue.ToString();

            string filename = Path.GetFileName(FileUpload1.FileName);
            FileUpload1.SaveAs(Server.MapPath("~/Images/") + filename);


            Execute("INSERT INTO building VALUES('" + bname + "','Binay',1, '" + filename + "')");
            Label3.Text = "sucess";

            SqlDataAdapter sda = new SqlDataAdapter("Select * from building",ConnectionString);
            DataTable dt = new DataTable();
            sda.Fill(dt);
            GridView1.DataSource = dt;
            DataBind();
        }
        else
        {
            Label3.Text = "upload image";
        }


     }

any suggestions will be of great help. thanks!