"which contain following code
string suggtxt = textbox.Text;
but it contain null. why?"
Well...it doesn't. The Text property never returns
null
- it can return an empty string, but not
null
What's happening is that the fault is in the earlier code:
TextBox txt = (TextBox)GridViewUserScraps.Rows[index].FindControl("suggText");
For some reason, that is returning null - which means that FindControl cannot find any control with that name.
This could be because you spelled it wrong, the index is wrong (possibly because the CommandArgument string is wrong) or almost anything else!
And the problem is that we can't tell, because it takes the whole of your code to get to that point.
So...start with the debugger. put a breakpoint on the first line of the method, and start looking at exactly what is going on. Look at what is in variables. Think about what they should be. Examine the content of your GridViewRow. It should be reasonably obvious with a bit of close inspection.
But we can't do any of that for you - we can't run your whole code, and that fragment is useless in isolation because it relies on the rest of your code and data to set everything up!